149
147
145
142
140
137
134
130
126
122
120
117
114
111
109
108
108
108
108
109
111
113
116
119
122
125
128
132
136
139
142
145
147
149
150
150
150
148
148
145
144
141
138
134
130
127
123
121
117
114
111
110
108
108
108
108
109
110
112
115
117
121
124
127
130
135
138
142
144
147
148
149
150
150
150
148
147
144
142
139
135
132
128
125
122
119
115
113
111
109
107
107
107
108
109
111
113
117
120
123
126
129
133
136
140
143
146
147
149
149
150
150
148
147
145
143
140
137
133
130
127
123
120
116
114
111
109
108
107
107
107
109
111
113
115
119
122
125
128
132
136
139
142
144
147
148
149
149
149
148
148
145
143
140
136
133
129
127
123
120
117
115
112
110
109
108
108
108
109
110
113
115
118
121
124
127
131
135
138
142
144
146
148
149
150
150
149
148
146
143
141
137
134
130
127
124
121
118
114
112
110
109
108
108
108
108
109
111
113
116
120
124
127
130
134
137
140
143
146
148
149
150
150
150
148
146
144
142
139
135
132
128
126
123
120
116
114
112
110
108
108
107
107
109
111
113
116
119
122
125
127
131
135
139
142
144
147
148
149
149
149
148
147
144
143
141
138
134
131
127
124
121
118
115
112
110
108
108
108
108
109
111
113
115
118
121
124
127
130
134
137
140
143
146
147
149
150
150
150
148
147
145
142
139
135
131
128
125
121
118
115
112
111
109
108
107
107
108
109
111
114
117
120
123
127
129
132
136
139
142
145
147
149
150
150
150
149
148
145
143
140
137
133
129
126
123
119
116
114
111
109
108
108
108
108
109
111
113
115
118
121
125
128
132
135
139
142
145
147
148
150
150
148
150
154
145
140
145
141
131
129
129
126
119
114
117
115
109
107
109
107
107
109
109
111
114
117
120
123
127
130
134
138
141
144
147
148
149
151
152
148
147
146
144
141
138
136
132
128
125
123
120
115
111
110
108
106
106
107
108
110
112
114
117
120
124
127
130
134
137
140
143
145
148
149
150
150
150
149
147
145
143
140
137
133
129
126
123
119
116
114
111
109
108
107
107
108
108
111
112
116
118
122
125
128
132
135
139
141
144
146
148
149
150
150
149
148
146
143
140
138
135
131
127
123
120
117
115
112
110
108
109
108
109
109
111
113
115
118
121
124
127
131
134
138
141
144
146
148
150
150
150
150
148
146
144
141
139
136
131
127
124
121
118
115
111
110
108
108
107
107
108
109
112
113
117
120
123
127
130
134
137
140
143
146
147
149
150
150
150
147
147
150
141
136
140
135
128
125
123
121
116
111
111
112
107
106
108
108
109
111
112
115
119
122
125
127
131
134
139
142
145
147
149
149
150
150
149
147
146
144
141
137
132
131
127
123
120
117
115
112
110
109
109
107
107
109
110
112
115
118
121
125
128
132
135
138
141
144
146
148
149
150
150
149
148
147
145
141
139
135
131
128
125
122
118
116
113
111
109
107
107
107
108
110
111
114
116
120
123
126
130
133
137
140
142
145
147
149
150
150
149
149
147
145
143
140
136
133
130
127
123
120
117
114
111
109
108
107
107
108
109
110
112
115
117
121
125
127
132
136
140
143
146
148
149
150
151
150
150
148
146
144
141
138
134
131
127
124
121
118
115
112
110
108
107
107
107
108
109
111
114
116
119
123
127
130
133
138
141
144
147
149
150
151
151
150
149
146
144
141
139
136
132
129
126
122
118
116
113
111
109
107
107
107
107
108
110
113
115
119
123
126
130
133
137
140
144
146
148
149
150
151
151
149
147
146
143
141
137
133
129
126
122
119
116
113
111
108
107
106
106
106
107
109
111
115
118
122
126
129
132
136
139
142
145
147
149
150
151
150
150
148
146
144
141
138
134
131
127
124
120
117
114
111
109
108
107
107
108
109
111
112
115
118
121
124
127
131
135
138
141
144
147
148
150
150
150
150
149
147
144
141
138
135
132
127
124
121
118
115
113
110
108
107
107
107
108
110
111
114
116
119
123
127
129
133
137
140
143
146
147
149
150
150
150
149
148
146
143
140
136
133
129
126
123
120
116
114
111
109
108
107
108
108
109
111
113
116
118
122
126
129
132
135
138
141
144
146
148
149
150
149
149
148
146
143
141
138
134
131
127
125
121
118
115
113
110
109
108
108
108
109
110
112
115
117
120
124
127
130
134
137
141
144
145
147
149
150
150
150
148
147
145
142
139
136
133
128
125
122
119
116
114
111
109
108
108
108
108
110
111
114
117
120
123
126
129
133
136
139
143
145
147
149
150
151
150
149
147
145
143
141
137
133
129
126
123
120
116
113
111
109
109
107
108
108
109
111
113
115
118
122
125
128
132
135
139
142
145
147
148
149
150
150
150
148
146
144
141
138
134
131
127
125
121
118
115
112
110
109
108
107
107
108
110
112
114
117
120
124
127
130
134
137
140
144
146
148
150
150
150
150
149
147
145
142
139
135
132
128
125
122
119
116
113
111
109
108
108
108
108
110
111
114
117
120
123
126
129
133
137
140
143
145
147
149
150
150
150
149
147
145
142
140
137
133
129
127
123
119
117
114
111
109
108
107
107
108
109
111
113
116
119
122
125
129
132
135
138
142
145
147
148
150
151
150
149
148
146
144
141
137
134
131
127
125
121
118
114
112
110
108
107
107
107
108
109
111
114
116
120
123
127
130
134
138
141
144
146
149
149
151
151
150
149
147
144
141
139
135
132
128
125
122
118
115
113
111
109
108
107
108
108
109
110
112
122
122
119
128
135
132
134
141
146
144
144
148
152
150
147
149
148
145
143
139
134
132
129
126
122
120
117
114
112
110
109
108
108
108
110
112
114
115
119
123
125
127
132
137
139
142
145
148
149
149
150
150
149
147
145
143
140
137
134
130
127
124
121
117
115
112
110
109
108
107
108
108
110
111
114
117
121
124
127
131
135
138
141
144
146
148
149
150
150
149
147
145
143
140
138
134
131
128
125
122
119
116
113
111
110
108
108
108
109
110
111
114
117
120
123
127
130
133
136
139
143
145
147
148
149
149
149
148
147
145
142
139
136
133
130
127
123
120
117
114
112
110
109
107
108
108
109
111
113
116
118
122
125
127
131
135
138
141
144
146
147
149
150
150
149
148
147
144
142
138
134
131
127
124
121
118
115
112
110
109
107
107
107
108
110
112
115
118
121
123
127
130
134
137
140
144
146
148
149
150
150
150
148
147
145
143
139
136
132
128
126
122
119
115
113
110
109
107
107
107
108
109
111
113
116
119
122
126
128
131
140
141
138
148
151
147
148
150
151
150
145
144
145
141
135
134
130
127
124
120
115
112
111
109
108
107
106
107
109
110
113
116
118
122
126
129
131
136
140
143
144
145
149
151
150
150
150
149
147
143
141
139
134
130
128
124
120
117
114
112
110
108
107
107
108
109
111
112
114
118
121
124
127
131
134
138
141
144
146
148
149
150
150
150
148
147
144
142
139
135
132
128
125
122
118
115
113
111
109
107
107
107
108
110
111
114
117
120
123
127
130
134
137
140
143
145
147
149
150
150
149
148
147
145
143
140
137
133
130
127
123
120
116
114
111
110
108
108
108
108
109
111
113
116
119
122
126
128
132
136
139
142
144
147
148
149
150
150
149
148
146
144
140
137
134
130
127
124
120
117
114
112
110
109
108
108
108
109
110
112
115
118
121
124
127
130
134
138
141
143
146
147
149
150
150
150
148
147
145
142
139
136
132
129
126
122
119
116
114
111
110
108
108
107
108
110
111
114
116
120
123
126
128
133
136
139
142
145
147
148
150
150
150
149
147
145
143
140
136
133
129
127
123
120
117
114
111
110
108
108
107
108
109
111
113
116
119
122
125
128
132
136
139
142
144
147
148
150
150
150
149
148
146
143
141
138
134
130
127
124
121
118
115
112
110
108
107
107
107
108
109
111
114
117
120
124
127
130
134
138
141
143
146
148
149
150
150
150
149
147
145
142
139
136
132
129
126
123
119
115
113
110
109
107
107
107
107
109
111
112
115
118
122
126
128
132
136
139
143
146
148
150
151
151
151
150
148
146
144
140
137
133
130
127
123
120
116
114
111
110
108
107
107
107
108
110
112
114
117
121
124
127
132
135
139
142
144
147
149
150
151
151
150
149
146
144
141
137
134
131
127
124
121
117
115
112
110
108
107
107
107
108
109
111
113
117
119
123
127
130
134
138
141
144
147
148
149
150
151
150
149
148
145
143
139
136
132
128
125
122
118
115
112
110
108
107
107
106
107
108
110
113
116
120
123
127
130
133
137
140
143
146
148
149
150
150
150
149
147
146
143
140
137
133
129
126
122
119
115
113
110
108
107
107
107
108
109
111
113
116
119
122
126
129
132
136
139
142
144
147
148
149
150
150
149
148
146
143
140
138
135
131
127
123
120
117
114
112
110
109
108
107
108
109
110
112
115
118
121
124
127
131
134
137
141
143
146
147
149
150
150
149
148
146
144
142
139
136
131
128
125
122
119
115
113
111
109
107
107
107
108
109
112
114
117
120
123
127
129
133
136
140
142
145
147
148
149
149
150
148
147
145
143
140
136
133
129
127
123
120
117
114
111
110
108
108
108
108
109
111
113
115
119
122
125
128
132
135
139
141
144
146
147
149
149
150
149
148
146
144
141
138
135
131
127
122
124
122
111
111
115
109
104
107
110
109
106
111
117
119
119
124
129
130
134
137
140
142
146
148
149
150
150
150
148
147
144
143
139
136
132
129
127
120
118
116
112
109
108
108
107
107
108
111
112
113
116
119
122
126
129
132
136
140
144
146
148
149
150
150
150
149
148
145
143
140
137
133
130
127
123
120
117
114
111
110
108
107
107
107
108
110
112
115
118
121
125
128
131
134
138
141
144
146
148
149
150
150
150
149
146
144
141
138
135
131
127
124
121
118
114
112
109
108
107
107
108
109
110
112
115
118
121
125
127
131
135
138
141
144
146
148
150
150
150
150
148
147
144
142
139
135
131
127
124
121
118
115
112
110
109
107
107
107
108
109
111
114
116
119
123
127
129
133
136
140
143
145
148
149
150
150
150
149
147
145
143
140
137
133
130
127
123
119
116
114
111
109
108
107
107
108
109
110
113
115
118
121
125
127
131
135
139
141
144
147
148
149
150
150
149
148
146
144
141
138
134
131
127
124
121
118
115
112
110
108
108
108
108
108
110
112
114
117
120
124
127
130
134
138
141
144
146
148
149
150
150
149
148
146
144
141
138
134
131
128
125
122
118
116
113
111
109
107
109
112
106
109
117
114
115
119
124
127
128
131
138
143
141
145
148
149
150
151
149
148
148
145
143
140
136
132
129
126
122
119
116
113
111
109
107
107
107
107
109
109
112
116
118
121
125
129
132
135
138
143
146
146
148
149
150
150
150
148
146
144
142
139
135
131
127
124
121
117
115
112
110
108
108
107
108
108
111
112
114
117
121
125
127
130
133
137
140
143
146
147
149
149
150
149
148
146
144
141
138
135
131
128
125
122
119
116
113
111
110
108
108
108
108
109
111
113
117
121
124
126
129
132
136
140
143
145
147
148
150
150
149
149
148
145
144
140
137
133
130
127
124
120
117
114
112
110
108
107
107
107
108
110
112
115
118
121
125
127
132
134
138
141
144
146
148
149
149
150
149
148
146
144
141
138
135
131
127
125
121
118
115
112
110
108
107
107
108
109
110
112
115
117
121
124
127
130
133
137
141
144
146
147
149
149
150
149
148
147
144
142
139
136
132
129
125
122
119
115
113
111
108
107
107
107
107
109
111
113
117
119
123
127
129
133
136
140
143
146
148
149
150
150
150
149
148
145
143
140
137
133
130
127
123
120
116
113
111
109
107
107
107
108
109
111
113
115
119
122
125
127
132
135
138
141
144
147
149
150
150
150
149
148
146
144
141
138
134
131
127
124
121
118
115
112
111
109
108
108
108
109
110
112
114
117
120
123
127
130
134
138
140
143
145
147
149
149
150
149
148
147
144
142
139
136
132
128
126
123
119
116
113
111
109
108
107
107
108
109
111
113
117
120
123
127
129
134
137
140
143
145
147
149
150
150
149
149
147
145
143
140
137
133
130
127
123
119
116
113
111
109
107
107
106
108
108
110
113
115
118
122
125
128
132
135
139
141
145
146
148
149
150
150
149
148
146
144
141
138
135
131
127
125
121
117
115
112
111
109
108
107
107
108
110
111
114
117
120
124
127
130
133
137
140
143
145
147
149
150
150
149
149
147
145
142
139
136
132
128
125
122
119
116
113
111
109
108
107
107
108
109
111
113
116
119
122
126
129
132
136
139
143
145
147
148
150
150
150
149
147
145
143
140
137
133
129
126
123
120
117
114
111
110
108
108
107
108
109
111
112
115
118
121
125
128
132
135
139
142
145
147
148
150
150
150
149
148
146
144
142
138
135
131
127
125
121
118
115
112
110
108
107
107
107
108
109
111
114
117
120
123
127
130
133
137
140
143
146
147
149
149
150
149
149
147
145
142
139
136
133
130
127
123
120
117
113
111
109
108
107
107
108
109
111
113
117
120
124
127
129
132
135
139
142
144
145
145
150
155
147
145
152
147
140
138
139
135
128
125
126
122
116
113
112
110
108
108
107
108
109
111
112
115
119
122
125
127
131
135
138
141
143
146
149
147
148
150
148
147
146
145
142
138
135
132
129
125
121
118
115
112
110
109
108
108
109
109
110
112
114
117
120
124
127
130
134
137
140
143
145
147
148
149
150
149
148
147
144
142
138
136
132
129
126
123
119
116
114
111
109
108
107
107
107
109
111
113
116
119
122
126
129
132
136
139
143
145
147
149
150
150
150
149
147
145
143
141
138
134
130
127
124
121
117
115
111
110
108
107
106
107
108
110
112
115
118
122
125
128
132
135
138
141
144
146
148
149
150
150
149
148
146
144
141
139
135
131
128
124
121
117
115
112
110
108
107
107
107
108
109
111
114
117
121
124
127
130
134
138
140
144
146
147
149
149
150
149
149
147
145
142
139
136
132
129
125
122
119
116
113
111
109
108
108
107
108
110
111
113
116
119
123
126
129
132
136
140
143
145
147
149
149
150
150
149
147
146
143
140
137
133
130
126
123
120
117
114
111
110
108
107
107
107
108
110
112
115
117
121
125
128
132
135
139
142
144
147
148
150
150
150
150
148
146
144
141
138
135
131
127
124
121
117
114
112
110
108
107
107
107
107
110
111
114
117
121
124
127
130
134
137
140
143
145
148
149
150
150
150
148
147
144
142
139
134
133
132
122
120
123
116
111
110
109
110
106
105
109
111
110
113
117
119
123
127
128
132
136
139
141
145
146
149
151
150
150
149
147
145
143
139
136
134
130
127
124
118
115
114
111
108
108
108
108
108
108
111
114
115
118
122
125
128
132
135
138
142
144
147
149
149
150
150
149
148
146
143
140
138
134
130
127
124
121
117
115
112
110
108
107
107
107
108
110
111
114
117
121
124
127
130
134
137
140
143
145
148
149
150
149
149
148
146
145
142
139
136
133
129
126
123
119
116
113
111
109
108
107
107
107
108
111
113
116
118
123
125
129
132
135
139
142
145
147
148
149
150
150
149
148
146
143
141
137
133
130
127
123
120
117
114
111
110
108
108
107
108
109
111
112
115
119
122
126
127
131
134
139
141
144
146
148
149
150
150
149
148
146
144
141
138
134
131
127
124
121
118
115
112
110
108
107
107
107
108
109
111
113
117
121
124
126
130
134
138
142
144
147
148
150
150
151
150
149
148
145
143
140
136
133
129
126
122
119
116
113
111
109
108
107
106
107
108
110
111
114
118
121
125
128
133
136
140
143
146
148
150
150
151
151
149
148
145
143
140
137
134
131
127
124
121
117
115
111
110
108
108
107
107
108
110
111
114
118
121
125
128
132
135
139
142
145
147
149
150
150
150
150
148
146
144
141
138
135
131
127
124
121
117
114
111
109
108
107
106
107
108
109
112
114
118
121
125
127
131
134
138
141
144
146
148
150
150
151
150
149
148
145
143
139
136
132
128
125
122
118
115
113
111
109
108
107
107
108
109
111
114
117
120
123
127
129
133
136
140
143
145
147
149
150
150
150
149
147
145
142
140
136
133
130
127
123
120
116
114
111
110
108
108
108
109
110
111
114
116
119
122
125
128
132
135
139
142
144
147
148
149
150
150
149
148
146
144
141
138
134
131
127
125
121
118
115
112
111
109
108
108
108
109
110
112
114
117
120
124
127
130
134
138
141
144
145
147
149
150
150
150
149
147
144
142
139
135
132
129
126
123
120
116
114
111
109
108
107
107
108
109
111
113
116
119
123
126
129
132
136
139
142
144
147
149
149
150
149
149
148
145
143
141
138
134
130
127
124
120
117
114
111
110
108
108
108
108
109
110
112
115
119
122
125
127
131
134
138
141
144
146
147
150
150
151
150
149
147
144
141
139
135
131
127
125
121
118
115
112
110
108
108
107
108
108
110
110
113
122
121
118
128
134
132
135
142
146
145
144
150
153
150
148
150
148
144
143
139
135
132
129
125
122
118
115
113
110
109
108
107
106
107
110
112
112
114
118
123
126
127
133
136
140
142
146
149
150
150
150
150
149
148
145
144
140
138
134
130
127
123
121
117
114
111
109
107
107
107
107
108
110
112
115
118
121
125
127
131
134
138
141
144
146
148
149
150
150
149
149
146
144
141
139
135
131
127
124
121
118
115
112
110
108
107
107
107
108
110
112
114
117
121
125
127
130
133
137
141
144
146
147
149
150
150
149
148
146
144
143
139
136
132
129
125
122
119
116
113
111
109
108
107
107
108
109
111
113
116
120
123
126
128
133
136
140
142
145
147
149
150
150
150
149
148
146
143
140
137
133
130
127
124
120
117
114
111
110
107
107
106
107
108
110
112
115
118
121
124
127
131
135
138
141
144
146
148
149
150
150
149
148
147
144
141
138
135
131
127
124
121
117
115
112
110
109
107
107
108
109
110
112
115
118
121
124
127
131
134
137
141
143
145
147
149
149
150
149
148
147
144
142
139
136
132
129
125
122
118
115
113
110
109
107
107
107
108
109
111
114
117
120
123
127
129
133
136
140
142
145
148
149
150
150
150
149
148
145
143
140
137
133
129
126
123
119
116
113
111
109
108
108
108
108
109
111
113
116
119
122
126
128
132
135
138
141
144
146
147
149
149
150
148
148
146
144
140
138
134
131
127
124
121
118
115
112
110
109
108
107
108
109
110
113
115
118
121
124
127
131
134
137
141
143
145
146
151
151
145
150
152
145
144
141
141
137
130
127
127
124
118
117
114
111
110
109
107
107
109
108
111
113
116
119
123
126
129
133
136
139
142
144
146
149
149
150
150
147
147
147
143
139
138
134
131
127
124
122
117
114
112
110
108
108
107
108
109
111
113
115
118
121
125
128
131
135
138
141
144
146
148
149
150
150
149
149
147
145
142
139
135
132
128
124
121
118
115
112
110
108
107
107
107
108
109
112
114
117
120
124
127
130
133
137
140
144
146
148
149
150
150
150
149
147
145
143
140
136
133
129
126
123
119
116
113
111
109
107
107
107
109
109
111
113
116
119
122
126
129
132
136
140
142
145
147
149
150
150
150
149
148
145
143
140
137
133
130
127
124
121
117
115
111
110
108
107
107
108
109
110
113
115
118
121
124
127
131
135
138
142
144
147
149
150
150
150
149
149
146
144
141
138
135
131
128
125
122
118
115
112
110
109
107
107
107
108
110
111
114
117
120
123
127
130
134
137
140
143
145
147
149
150
150
149
149
147
145
143
139
137
132
129
126
122
119
116
113
111
109
108
107
107
108
109
111
113
116
120
124
127
128
132
136
140
143
145
147
148
150
150
150
148
147
145
143
140
137
133
130
127
123
120
117
114
111
110
108
107
108
108
109
110
112
115
119
122
125
127
131
135
139
142
144
147
148
150
150
150
149
148
146
144
141
138
135
131
128
125
121
118
115
113
111
109
107
107
107
108
110
111
114
117
120
123
126
129
133
137
140
143
145
147
149
150
149
150
148
147
144
142
139
136
132
129
126
123
119
116
114
111
110
108
108
108
108
109
111
113
116
119
122
126
129
132
136
139
142
144
147
148
150
150
150
149
148
145
143
140
137
133
130
127
123
120
117
114
112
110
108
107
107
107
109
110
112
114
118
122
125
128
131
135
138
142
144
146
148
149
149
149
149
148
146
144
141
138
135
131
127
125
122
118
115
113
111
109
108
108
107
108
110
112
114
116
120
123
127
130
134
137
140
143
145
147
149
150
150
149
148
146
144
142
138
135
132
128
126
123
119
116
114
111
111
109
108
108
108
110
111
113
116
120
123
127
129
133
137
140
143
145
147
148
149
149
150
148
147
144
142
139
136
133
130
126
123
125
118
110
114
114
106
105
108
109
108
107
113
118
118
120
126
129
131
135
137
140
143
146
147
148
150
150
149
148
147
144
142
138
135
132
128
123
120
118
115
112
110
110
108
108
108
109
111
111
114
117
120
123
127
130
133
137
141
143
145
148
149
150
150
150
149
147
145
143
140
136
133
129
127
123
119
116
114
111
110
108
108
107
108
109
110
113
116
119
122
125
128
132
135
139
142
144
147
149
150
150
150
149
148
146
144
141
137
134
130
127
123
120
117
114
112
109
108
107
107
108
109
110
113
115
118
121
125
128
131
135
138
142
144
147
148
150
151
151
150
149
147
144
142
138
135
131
127
125
121
118
115
112
110
108
107
107
107
108
110
111
114
117
120
123
127
130
133
137
140
143
146
148
149
150
150
150
148
147
145
143
140
137
133
129
126
122
119
116
114
111
109
108
107
107
108
109
111
113
115
119
122
126
129
133
137
139
142
145
147
148
150
150
150
149
148
146
143
141
138
136
130
127
123
121
117
115
111
109
108
107
107
107
109
110
112
115
119
121
125
127
132
134
138
141
144
146
148
150
150
150
150
148
147
144
143
139
136
131
127
125
122
118
115
112
110
109
108
108
107
108
110
111
114
117
120
124
127
130
134
137
140
143
146
148
149
150
150
150
149
148
145
142
139
136
132
128
126
122
119
116
114
111
109
108
107
107
108
110
111
113
115
119
122
126
129
132
136
139
142
145
147
149
150
150
150
149
147
146
143
140
137
133
130
127
124
121
117
115
112
110
109
108
108
108
109
110
113
115
118
122
125
128
131
135
138
141
144
146
148
149
149
150
149
148
146
144
141
138
135
131
127
125
121
118
115
113
110
109
107
107
107
108
109
111
114
115
122
127
124
129
138
137
139
143
146
149
147
147
151
152
147
147
146
142
140
137
132
128
127
122
119
116
113
111
109
108
107
107
107
109
111
113
116
119
122
125
129
131
135
140
142
144
147
149
150
150
150
150
149
146
143
141
137
134
130
127
123
120
118
115
112
110
108
108
108
108
109
110
112
114
117
121
123
127
131
135
138
141
144
147
148
150
150
150
150
149
147
144
141
137
134
130
127
124
121
118
115
113
111
109
108
107
107
108
110
112
114
117
120
123
127
129
133
136
140
143
145
147
148
149
150
150
149
147
145
143
140
137
133
130
127
122
119
116
114
111
109
108
108
108
108
110
111
113
115
119
122
126
128
132
135
138
142
144
147
148
150
150
150
149
148
146
144
142
138
134
131
127
124
121
117
114
112
110
108
107
107
107
108
110
112
114
118
121
124
127
130
134
137
141
144
146
148
149
150
150
150
149
147
144
142
139
136
132
128
125
122
118
115
112
110
108
107
107
107
107
109
111
113
116
120
123
127
130
134
138
141
144
146
147
149
151
150
150
149
147
145
143
140
137
132
129
125
122
119
116
113
111
109
107
107
106
107
108
111
113
115
119
123
126
129
133
136
139
142
145
147
149
150
150
150
149
148
146
144
140
137
134
130
127
123
120
117
115
111
110
108
107
107
107
109
110
112
115
118
121
125
127
131
135
138
141
144
147
148
149
150
150
150
148
147
144
141
139
136
132
127
124
122
119
116
113
110
109
108
108
107
109
110
112
114
117
121
124
127
130
134
137
140
143
146
148
149
150
150
150
148
147
144
142
140
137
133
128
125
122
120
116
113
110
109
108
107
107
108
109
111
114
116
119
122
126
129
132
136
139
142
145
147
149
150
150
151
150
148
146
143
141
137
134
130
127
124
121
117
114
112
110
109
108
108
108
109
110
112
115
118
121
124
127
131
134
138
141
144
146
148
149
150
150
149
148
146
144
142
139
135
131
127
125
121
119
115
113
111
109
108
108
108
109
110
111
115
117
121
124
127
130
134
137
140
143
145
146
149
155
148
146
152
150
142
141
141
137
131
127
127
125
118
115
114
111
108
108
107
106
108
110
110
113
116
119
122
126
129
133
137
140
143
145
148
147
149
150
150
148
147
147
144
141
137
135
131
127
123
120
117
114
111
110
108
108
108
108
109
111
113
115
118
121
125
127
131
135
137
140
144
145
148
150
150
150
150
148
147
145
141
137
134
131
127
124
121
119
115
113
110
109
108
108
108
108
110
111
114
116
120
123
127
130
133
138
140
144
146
148
149
150
150
150
148
147
145
143
140
136
133
129
126
123
119
116
114
111
109
108
107
107
108
109
111
113
116
119
122
126
129
132
136
139
143
145
147
148
149
150
150
149
147
146
144
141
137
134
131
127
124
121
117
114
111
109
108
107
107
107
108
109
112
114
117
121
124
127
132
136
139
142
145
147
148
150
151
150
150
149
147
144
142
139
136
132
128
125
122
118
115
112
110
108
106
106
106
107
108
110
113
116
119
123
127
130
134
137
141
144
146
148
150
150
150
150
149
147
145
143
140
137
133
129
127
123
119
116
113
111
109
107
107
107
107
108
110
112
115
119
122
126
129
133
137
140
143
145
148
149
150
150
150
150
148
146
144
141
137
134
130
127
123
120
117
114
111
109
108
107
107
107
108
110
112
115
118
121
125
127
131
135
139
142
144
147
149
150
150
150
150
148
146
144
142
138
135
131
127
124
121
118
115
112
110
109
107
108
107
108
110
112
115
118
120
123
127
130
134
137
140
144
146
148
149
150
150
149
148
146
144
141
139
137
133
129
125
122
120
116
114
111
109
109
108
108
108
109
111
113
116
119
123
126
129
132
136
139
142
144
147
148
149
149
149
149
147
145
143
141
138
134
129
127
125
121
117
114
112
110
108
108
108
108
109
111
113
115
118
121
124
127
130
134
137
140
144
145
147
149
149
150
149
148
147
144
142
139
135
132
128
125
122
118
115
117
110
106
111
109
106
108
110
113
114
114
119
125
126
129
134
136
139
144
145
146
148
149
149
150
148
147
145
143
139
136
133
129
126
123
119
116
114
112
110
108
106
108
108
108
110
113
116
119
122
126
130
132
135
139
143
145
147
149
150
150
150
149
147
146
144
141
138
134
131
127
124
121
117
115
111
109
108
107
107
107
108
109
112
114
117
121
124
127
130
134
138
141
143
146
148
149
150
150
149
148
147
144
142
138
135
131
128
125
122
118
115
113
111
109
108
107
107
108
110
112
114
117
121
123
127
129
133
136
140
143
145
147
149
150
150
150
149
147
145
143
140
136
133
129
126
122
119
116
113
111
109
108
107
107
108
109
111
113
115
118
122
126
128
132
136
139
142
145
147
148
150
150
150
149
148
146
144
141
137
134
130
127
124
121
117
114
112
110
108
107
107
107
109
110
112
114
118
121
124
127
131
135
138
141
144
147
148
149
150
150
150
148
147
144
141
138
135
132
128
125
121
119
115
113
110
109
107
107
107
108
109
111
114
117
120
123
127
129
134
137
140
143
145
147
149
150
150
149
148
147
145
142
139
136
133
129
127
123
120
116
114
111
109
108
107
108
108
109
110
113
116
119
122
126
129
132
136
139
142
144
147
148
149
150
150
149
148
146
143
140
137
134
130
127
123
120
116
114
111
109
107
107
107
107
108
110
112
115
118
121
125
128
131
135
138
142
144
146
148
150
150
150
150
149
147
144
142
138
135
132
128
125
121
118
114
112
109
108
107
107
106
108
109
111
113
116
119
123
127
130
134
137
141
144
146
147
149
150
150
150
149
148
145
143
140
137
133
130
127
123
119
116
114
111
109
107
107
107
107
109
111
113
116
119
123
126
129
132
136
139
142
144
147
148
150
150
149
148
147
145
142
140
137
135
130
127
123
120
117
114
111
109
108
106
107
107
108
108
111
118
120
117
126
132
130
133
140
144
143
144
148
152
150
148
150
149
146
144
142
138
135
131
127
124
121
118
115
112
110
109
108
107
106
108
111
111
112
117
120
122
126
130
134
137
140
144
147
148
148
149
150
149
148
147
145
143
140
136
133
129
127
123
120
117
114
112
110
108
107
108
108
110
111
113
116
119
122
126
128
132
135
138
142
144
146
147
149
149
149
148
148
146
143
140
137
134
130
127
123
120
118
116
111
109
108
106
108
109
109
111
113
115
119
121
124
127
131
134
137
141
144
147
148
150
151
151
150
149
147
144
141
138
135
131
128
125
122
118
115
113
110
109
107
107
107
108
109
111
113
116
120
123
127
129
133
136
140
142
145
147
149
150
150
150
148
147
145
142
139
136
133
130
127
123
120
117
114
111
109
108
107
107
108
109
111
113
116
119
122
126
128
132
136
139
142
144
147
148
149
150
149
149
147
146
144
141
138
134
130
127
124
120
117
114
111
110
108
107
108
108
109
110
112
115
118
121
124
127
130
135
137
141
144
146
148
149
150
150
150
148
147
144
142
138
135
131
128
125
122
118
115
113
111
109
108
107
107
108
110
111
114
116
119
123
127
129
133
136
140
143
145
148
149
150
150
150
149
147
145
142
140
136
133
129
127
123
120
116
114
111
109
108
107
107
108
109
110
112
115
119
122
125
128
132
135
138
142
144
147
148
149
150
150
149
148
146
143
141
138
134
131
127
125
121
118
115
112
110
109
107
107
107
109
110
112
115
117
121
124
127
131
134
138
141
144
146
148
149
150
150
149
148
147
144
142
139
135
132
128
125
121
119
115
112
110
109
107
107
107
108
109
111
114
116
120
123
127
129
133
137
140
143
146
147
149
150
150
150
149
147
145
142
140
136
133
129
126
123
120
116
113
111
109
108
107
107
108
109
111
113
115
118
122
125
128
132
135
139
142
145
147
148
150
150
150
150
148
146
144
141
137
134
131
127
124
120
117
114
112
110
108
107
107
107
108
110
112
115
118
122
126
128
132
135
138
141
144
146
149
150
150
150
148
148
150
144
138
142
137
130
127
124
121
118
112
111
111
107
106
107
107
107
109
110
113
117
121
124
127
131
134
138
140
143
146
148
149
150
150
150
149
148
146
143
140
136
133
129
125
122
119
116
112
110
109
108
107
107
107
109
111
114
117
120
123
127
129
133
136
139
143
145
147
148
150
150
150
149
147
146
143
141
137
134
130
127
123
120
117
114
111
109
108
107
107
108
109
111
112
115
118
122
125
127
131
135
138
142
144
147
148
149
150
150
149
148
147
144
141
138
134
132
127
125
121
118
115
113
111
109
108
107
107
108
110
111
114
117
120
123
127
130
133
137
140
143
145
147
149
150
149
149
148
147
145
142
140
136
133
129
127
123
120
116
114
111
109
108
107
107
108
109
110
113
116
119
122
126
128
131
136
138
142
144
146
148
149
150
149
149
148
146
144
141
138
135
131
127
124
121
118
115
112
110
108
107
107
108
108
110
112
114
117
120
123
127
130
134
138
141
144
146
148
149
149
150
150
149
147
145
142
139
135
132
129
126
122
119
115
113
111
108
107
107
107
108
109
111
113
116
119
123
127
129
133
136
139
143
145
147
149
150
150
150
149
147
146
143
140
136
133
129
127
123
119
116
114
111
109
108
107
108
107
109
111
113
115
118
122
125
129
132
136
139
142
145
148
149
150
150
150
150
148
146
144
141
137
134
131
127
124
120
117
115
112
110
108
107
107
107
108
110
111
114
117
121
124
127
131
135
138
141
144
146
148
149
150
150
150
148
147
144
142
139
135
132
128
125
121
118
115
112
110
109
108
107
108
108
110
111
114
117
120
124
127
130
134
137
140
143
145
147
148
149
150
149
148
147
145
142
140
136
132
129
125
122
124
115
110
114
112
106
105
109
109
107
108
114
118
118
122
126
129
132
136
139
141
144
147
148
149
150
149
149
147
146
144
141
137
134
131
128
123
120
118
115
111
109
109
108
107
107
109
111
112
114
117
121
123
127
130
134
138
141
144
146
148
149
151
150
150
148
147
144
142
139
136
132
128
126
122
119
116
114
111
109
108
107
107
108
109
111
113
116
119
123
127
129
133
136
139
143
145
148
149
150
150
150
149
147
145
142
139
137
134
130
126
123
120
116
113
111
108
107
107
107
107
108
110
113
116
119
122
126
128
132
136
139
143
147
146
146
150
148
149
151
148
146
145
142
139
137
130
127
125
119
117
113
111
110
107
106
107
108
108
111
112
115
117
121
124
127
131
134
138
140
144
146
148
149
150
150
150
148
147
145
142
139
135
132
129
125
121
118
115
112
109
108
107
106
107
107
109
111
114
116
120
124
127
130
134
137
140
143
146
148
149
150
150
150
150
148
146
143
140
137
133
129
126
122
119
116
113
110
108
107
106
107
107
109
111
113
115
119
122
126
129
132
136
139
143
145
147
149
150
150
150
150
148
146
144
141
137
134
130
127
123
120
117
114
111
109
108
107
107
107
108
110
112
115
117
122
125
128
132
135
139
141
144
146
148
149
150
149
149
148
146
144
141
139
135
132
128
125
122
118
115
113
111
109
108
107
108
109
110
112
114
117
120
124
127
130
133
137
140
143
145
146
148
149
149
148
148
146
144
142
139
136
132
129
126
123
120
117
114
112
110
108
108
108
109
109
111
113
116
119
122
125
128
132
135
139
141
144
146
148
149
150
149
149
148
146
143
140
138
134
130
127
124
121
118
115
112
110
108
108
107
108
109
110
112
115
117
121
124
127
130
134
138
140
144
146
148
149
150
150
150
149
147
145
142
139
135
132
128
125
122
119
116
113
111
109
109
108
108
108
109
111
113
116
119
123
126
129
132
136
139
142
144
147
149
150
151
150
149
147
145
143
140
137
133
130
127
124
120
117
114
111
109
108
107
108
108
109
111
113
115
118
122
125
128
132
135
139
142
144
146
148
150
150
150
150
148
146
144
141
138
135
131
127
124
121
117
114
112
109
107
107
107
107
108
110
111
114
117
121
123
127
133
130
138
144
143
145
148
150
151
149
148
150
148
144
142
140
135
133
129
124
121
118
115
112
111
108
108
107
107
108
110
111
113
117
119
123
127
129
133
137
138
142
146
147
148
150
151
150
149
147
146
144
139
136
133
129
126
124
119
117
114
111
109
108
107
107
108
109
111
112
115
118
122
126
128
132
136
139
142
145
147
148
150
150
149
149
148
146
143
140
138
135
131
127
123
120
117
115
111
109
108
107
107
108
108
110
112
114
117
121
125
127
131
135
138
141
144
146
148
149
150
150
149
148
146
144
142
139
136
132
128
125
122
119
115
112
110
108
108
108
108
109
110
112
114
117
119
123
127
130
133
136
140
143
145
147
148
149
150
150
149
147
145
143
139
136
132
129
126
123
120
116
114
111
110
108
108
107
108
109
111
113
116
119
122
126
128
132
135
139
141
144
146
148
149
150
149
149
148
146
143
140
138
134
131
127
124
121
117
115
112
110
108
107
107
107
109
110
112
115
118
121
125
127
132
134
138
141
144
146
147
149
149
150
149
148
146
144
142
139
136
132
129
126
123
119
116
113
110
108
107
107
107
107
109
110
113
116
119
123
127
130
134
137
140
143
146
147
149
150
150
150
149
148
146
143
141
138
134
130
127
123
120
116
114
110
109
107
106
106
107
108
111
113
116
119
122
126
128
132
135
139
142
145
147
148
149
150
150
149
148
146
144
141
138
134
131
127
124
121
117
114
111
109
108
107
107
107
109
110
112
115
118
121
124
127
131
134
138
141
144
147
148
149
149
152
153
144
146
149
140
136
136
133
127
122
121
121
116
111
111
110
108
107
107
107
109
111
113
116
119
123
126
129
133
137
140
143
146
148
150
150
149
149
149
147
144
143
140
136
132
130
127
123
119
117
114
111
109
108
107
107
108
110
111
112
116
118
122
125
128
132
135
139
142
145
146
148
149
150
150
149
148
145
144
141
137
134
131
127
124
121
117
115
112
110
108
108
107
108
109
110
112
114
118
120
124
127
131
134
137
140
144
146
148
149
150
150
150
149
147
144
142
139
135
132
128
125
122
118
116
112
111
109
108
108
107
108
109
111
113
116
119
123
126
129
133
137
140
142
145
147
149
150
150
150
149
148
145
143
139
137
133
130
126
123
119
117
114
111
110
111
106
105
108
106
110
115
114
119
124
125
128
134
135
139
142
143
145
147
149
151
150
149
149
147
144
142
139
134
129
127
123
120
117
115
112
110
109
108
107
108
109
110
112
115
117
120
124
127
130
134
137
141
144
147
148
149
150
150
149
148
146
144
141
139
136
132
128
125
122
119
116
113
111
109
108
107
107
108
109
111
113
116
119
123
127
129
133
136
140
143
145
147
149
149
150
149
149
147
145
143
141
137
133
129
127
124
121
117
114
111
109
108
107
107
108
109
111
113
116
119
122
125
127
132
134
138
141
144
146
148
149
150
150
150
148
146
144
141
138
134
131
127
125
122
118
115
113
110
108
107
107
107
108
110
112
114
118
121
124
127
130
134
138
141
144
146
148
149
150
150
149
149
147
145
142
139
135
132
129
125
122
119
116
113
111
109
108
107
107
108
109
111
113
116
118
122
126
129
133
137
140
143
146
147
149
150
151
150
149
148
146
143
140
137
133
130
127
123
120
116
113
111
109
108
107
107
108
109
110
112
115
118
121
125
128
132
135
139
142
144
147
148
150
150
151
149
148
146
144
141
137
135
131
127
124
120
117
114
111
109
108
107
107
107
109
110
112
114
118
121
125
127
131
135
139
142
144
147
148
150
150
150
150
148
147
144
142
138
135
131
128
125
122
118
115
113
111
109
107
107
107
108
109
111
113
116
119
123
126
129
134
137
141
144
146
148
150
150
150
150
149
147
145
143
140
137
133
130
127
123
120
117
114
111
110
108
107
107
107
108
109
111
114
118
121
125
128
132
135
139
142
145
147
148
150
150
150
149
148
146
144
141
138
135
131
127
124
121
117
115
110
111
112
105
105
111
109
108
111
114
118
120
121
127
132
133
138
142
144
147
148
148
149
150
148
147
146
144
141
138
136
132
129
125
122
118
116
112
111
109
107
108
107
107
110
111
112
116
120
123
127
129
134
137
140
142
145
147
149
150
150
150
149
148
146
143
140
137
133
130
127
123
120
116
113
111
109
107
107
107
107
109
110
113
115
118
121
125
127
131
135
138
141
144
146
148
149
150
150
149
148
146
144
141
138
134
130
127
124
121
118
115
112
111
109
108
107
108
108
110
112
115
118
121
124
127
130
134
137
140
144
146
147
149
150
150
150
148
146
144
142
139
136
132
129
125
122
119
115
113
111
109
107
108
107
108
109
111
113
115
120
123
127
129
132
136
140
143
146
147
149
150
150
150
149
148
145
143
140
137
133
129
127
123
120
116
113
111
109
107
107
107
108
109
111
112
115
119
122
125
127
132
136
139
142
144
147
148
150
151
150
149
148
146
144
141
137
134
131
127
124
121
117
114
112
110
108
107
106
107
108
110
112
114
118
121
124
127
131
134
138
141
144
146
147
149
150
150
149
148
147
145
142
139
136
132
128
125
122
119
116
113
111
109
108
108
107
108
110
111
114
117
119
123
126
130
133
136
140
143
146
147
149
150
150
150
149
147
145
143
140
137
132
129
126
122
119
116
113
111
110
108
108
107
108
109
110
112
114
119
127
122
127
136
137
136
141
147
147
147
148
152
152
148
148
147
144
141
138
134
130
127
125
121
118
116
112
110
108
108
107
107
108
110
112
115
116
119
124
127
130
133
138
140
143
146
148
149
149
149
149
148
147
145
142
139
137
133
130
126
123
119
116
114
111
110
108
108
107
108
109
111
113
116
119
123
126
129
133
136
139
141
145
147
148
149
150
150
149
147
145
142
139
136
133
130
126
123
120
117
114
111
110
108
108
107
108
109
111
113
115
118
122
125
127
131
135
138
141
144
146
148
149
150
150
149
148
146
144
142
139
135
132
128
125
122
118
115
113
111
109
108
107
107
107
109
111
113
116
119
123
127
130
133
136
140
143
145
147
150
151
152
152
150
148
145
143
139
136
132
129
125
123
119
116
113
111
109
108
107
107
107
109
110
112
115
118
122
126
128
132
136
139
142
145
147
149
151
154
148
148
148
142
144
142
136
134
132
125
124
121
117
115
112
108
107
107
107
109
108
110
113
116
118
122
126
127
131
134
138
141
144
146
148
149
151
151
150
150
147
145
141
138
134
130
127
124
120
117
114
111
109
108
107
106
107
108
109
111
114
117
120
124
127
131
133
138
141
144
146
148
149
150
151
150
149
147
145
143
139
136
132
128
125
122
118
115
112
110
108
108
107
107
108
109
111
114
117
119
123
127
129
132
136
140
143
145
147
148
149
150
149
149
147
146
143
140
137
133
130
126
123
119
116
113
111
109
108
107
107
108
109
110
112
115
118
122
126
128
131
135
139
143
145
146
148
149
150
150
149
148
146
144
141
138
134
131
127
124
121
117
114
112
110
108
107
106
107
108
110
112
115
119
122
125
127
130
134
138
141
143
146
148
149
150
150
149
149
147
145
142
139
136
132
128
126
122
118
116
113
111
109
108
108
108
108
109
111
113
116
119
123
126
129
133
136
139
142
145
146
148
149
150
150
149
148
146
144
140
137
134
130
127
123
120
117
114
112
110
108
108
108
108
109
111
113
116
119
122
125
127
131
135
138
141
144
147
148
150
150
150
149
148
147
144
141
138
134
131
127
124
120
117
114
112
110
108
108
107
108
109
110
112
115
117
121
124
127
130
134
138
140
144
146
148
150
150
151
150
149
147
144
142
139
135
132
128
125
122
119
116
113
111
109
108
108
107
108
109
111
113
117
119
123
126
129
133
136
140
143
145
147
149
150
150
150
149
147
145
143
140
137
133
130
127
124
120
117
114
111
110
108
107
107
108
109
111
113
115
118
122
125
128
132
136
139
142
145
146
148
149
150
150
148
148
146
146
142
134
136
134
126
124
121
118
116
110
109
111
108
106
108
109
110
113
115
116
121
124
127
130
134
137
141
144
146
148
150
149
150
150
148
146
145
142
139
135
131
129
127
122
118
116
114
111
109
108
109
108
108
109
111
113
116
119
122
126
129
133
136
140
142
146
147
149
150
150
150
149
147
145
143
140
137
134
130
127
124
120
117
113
111
109
108
107
107
108
109
110
112
115
118
121
125
128
132
135
139
141
144
146
147
149
149
150
149
148
146
144
141
139
135
131
127
125
122
118
115
112
111
109
108
107
107
108
110
112
115
118
121
124
127
130
134
137
140
143
145
147
148
149
149
149
148
147
145
143
140
137
133
129
126
123
119
116
113
111
109
108
107
107
108
109
111
113
117
119
123
127
129
133
136
139
141
144
146
147
148
149
149
148
147
145
144
140
137
134
131
127
124
120
117
114
112
110
108
108
108
108
109
111
113
116
119
122
125
128
131
134
137
140
143
145
147
148
149
150
149
148
146
145
142
139
135
132
128
125
121
119
116
113
111
109
108
107
107
108
109
111
113
117
120
124
127
129
133
136
140
143
145
147
149
150
150
150
149
147
145
142
139
136
133
129
126
122
121
122
110
111
114
107
104
106
109
108
107
111
118
121
121
125
129
132
137
141
142
144
147
148
150
150
150
149
147
146
143
140
137
133
131
127
124
119
117
114
111
109
108
108
107
107
109
111
113
115
118
122
125
127
132
135
138
142
145
146
148
150
150
150
150
148
147
144
141
138
135
131
127
124
121
117
115
111
110
108
107
107
107
108
110
111
114
117
120
124
127
131
134
138
141
144
146
148
150
151
151
150
149
147
145
142
140
136
132
128
125
122
118
115
113
111
109
108
108
108
108
109
111
114
117
119
123
127
129
133
136
139
142
145
148
149
150
150
150
149
147
145
142
140
136
133
130
127
124
120
117
114
112
110
108
108
108
108
109
111
113
115
118
121
125
128
131
135
138
141
144
146
148
149
150
150
149
148
146
144
141
138
135
131
127
125
121
118
115
112
111
108
107
108
108
109
110
111
114
116
120
123
127
131
134
138
141
144
146
148
149
150
150
150
149
147
145
142
139
136
132
129
126
123
119
116
113
111
109
108
107
110
108
106
111
111
115
122
122
126
132
132
135
141
143
145
148
148
147
149
149
150
148
145
144
142
138
135
132
127
123
120
117
113
112
110
108
107
107
108
109
111
112
115
118
121
124
127
130
134
137
140
144
146
148
149
151
150
149
148
147
144
141
138
135
131
127
125
121
118
115
113
110
109
108
107
108
108
109
111
114
117
121
123
127
130
134
137
140
143
145
148
149
150
150
150
149
147
145
142
139
136
132
129
126
123
119
116
113
111
109
108
107
107
107
109
111
113
116
119
123
126
129
132
136
140
143
145
147
149
150
150
150
149
148
146
144
140
137
134
130
127
123
120
117
114
112
110
108
107
107
107
108
110
111
115
118
121
124
127
131
135
139
142
144
146
148
149
150
149
149
148
147
144
142
139
135
131
127
125
121
118
114
112
110
108
107
107
108
109
111
112
115
118
121
124
127
130
134
137
141
144
145
148
148
149
149
149
148
146
144
141
139
136
132
129
125
122
118
116
113
111
109
108
108
108
108
109
111
114
117
120
123
126
129
133
137
140
143
145
147
149
150
150
150
149
147
145
142
139
136
132
129
126
123
119
117
114
111
109
109
108
108
109
109
111
113
116
118
121
125
128
132
135
139
142
145
147
149
150
150
150
149
147
145
143
140
137
133
130
127
124
120
118
115
113
111
110
109
108
108
109
111
112
115
117
120
124
127
130
134
137
140
143
145
147
148
149
149
149
148
146
144
142
139
135
132
129
126
123
119
116
113
111
109
108
108
108
108
110
111
114
116
119
122
126
129
132
135
138
142
144
147
149
149
150
150
150
148
147
144
140
137
134
130
127
124
120
117
114
112
109
108
108
107
108
109
110
112
115
117
120
124
127
131
133
138
144
141
146
152
149
149
150
150
149
145
143
142
140
134
131
128
125
121
119
114
112
111
109
108
108
107
108
110
111
113
117
120
123
127
130
133
137
140
144
146
146
148
151
151
149
149
147
145
142
139
136
133
129
126
123
119
116
113
111
109
108
107
107
108
109
111
113
116
119
123
126
129
133
136
140
143
146
148
150
150
151
150
149
147
146
143
140
136
133
130
127
123
119
116
113
111
109
107
107
107
107
109
110
112
116
118
122
125
128
132
135
139
142
145
147
148
150
150
150
150
149
147
145
142
139
135
131
127
124
121
118
115
113
110
109
107
107
107
108
110
111
114
117
120
124
127
130
133
137
140
143
145
147
149
150
150
149
148
147
145
142
139
136
132
129
126
122
119
116
113
111
109
108
107
108
108
110
111
113
116
120
123
126
130
132
136
140
143
145
147
149
150
150
150
149
147
146
142
140
136
133
130
127
123
120
117
114
111
109
108
107
108
108
108
110
112
115
118
121
125
128
131
135
138
142
144
146
148
149
152
154
146
148
151
143
139
139
137
131
126
125
123
119
113
112
111
109
108
107
107
107
110
111
113
116
120
123
127
130
134
138
140
143
146
148
149
149
149
150
148
146
145
143
140
136
133
130
126
122
119
116
113
111
109
108
107
108
109
109
111
114
116
119
123
125
129
133
136
139
142
144
147
149
149
150
150
149
147
146
143
140
137
133
130
127
123
120
117
114
111
109
108
108
107
108
109
110
112
115
118
121
124
127
131
135
138
141
144
147
148
149
150
150
150
148
147
144
142
139
135
132
127
125
121
118
115
112
110
108
107
107
107
107
110
111
114
116
120
123
127
130
134
138
140
144
145
147
149
150
149
150
148
147
145
142
139
136
132
129
126
122
119
115
112
110
108
107
106
107
107
109
111
113
116
120
123
127
130
133
137
140
143
145
147
149
150
150
149
148
147
145
143
141
137
134
130
127
124
120
117
113
111
109
107
107
107
107
108
110
112
115
118
122
125
129
132
136
139
142
144
146
148
148
149
149
149
149
147
144
141
138
134
131
127
124
121
117
114
112
110
108
107
107
106
107
110
112
114
118
121
125
127
131
134
138
140
144
145
147
149
150
151
151
151
144
143
142
136
136
135
127
127
124
118
116
114
110
109
108
106
105
107
109
112
113
116
120
124
127
131
134
136
139
142
144
146
149
150
150
150
149
148
146
143
140
136
133
130
127
123
120
117
113
111
110
108
107
107
108
107
110
112
116
118
121
124
127
131
135
139
141
144
146
149
149
150
150
149
148
146
144
141
138
135
132
127
125
121
118
115
112
110
109
108
107
108
108
110
113
115
117
120
124
127
130
133
137
140
143
145
147
149
150
150
150
149
147
145
142
139
136
132
129
126
122
119
116
113
111
109
108
107
107
107
109
111
113
116
118
123
126
129
132
136
138
142
145
147
149
150
150
150
149
147
146
144
141
137
134
131
127
124
119
117
114
113
110
108
107
107
107
108
110
112
115
118
122
125
128
131
135
138
142
144
147
148
149
151
150
150
148
147
144
141
139
136
132
127
124
121
119
115
112
110
108
108
108
108
108
110
111
114
117
120
123
127
130
134
137
140
143
145
147
149
150
150
150
149
147
145
143
140
136
132
129
126
123
119
116
113
111
109
109
107
107
108
109
111
113
116
119
123
126
129
132
136
139
143
144
147
149
150
150
150
149
148
146
143
141
137
134
130
127
124
120
117
114
111
109
108
107
107
107
109
111
113
115
118
121
125
128
131
135
138
141
144
146
148
149
150
150
150
148
147
144
142
138
135
131
127
124
120
118
114
112
111
109
108
107
107
108
111
112
114
117
120
123
127
130
134
137
140
144
146
148
149
151
150
150
149
147
145
142
140
136
132
129
126
122
119
116
113
111
109
108
107
107
107
109
111
113
115
119
122
126
129
133
136
140
143
145
148
149
150
150
150
149
148
145
143
140
137
133
129
127
124
121
117
115
112
110
108
107
106
108
112
109
110
118
119
120
125
128
132
135
136
142
146
146
147
150
150
149
150
147
145
144
141
138
135
131
127
125
122
118
115
113
110
109
108
107
107
109
110
112
114
116
121
124
127
129
134
137
140
143
145
148
149
150
150
150
149
147
145
143
140
136
132
129
126
122
119
116
113
111
109
108
107
108
108
109
111
113
115
119
122
125
128
132
135
138
142
144
147
148
149
150
149
149
148
146
144
141
138
134
131
127
124
121
118
115
112
110
109
108
108
108
109
111
113
115
118
121
124
127
130
134
137
140
143
146
147
149
150
149
149
148
147
144
142
139
135
132
127
125
121
118
115
112
110
109
108
108
108
109
110
112
114
117
120
123
127
130
133
137
140
143
145
147
149
150
150
150
149
148
145
143
140
136
133
129
126
123
120
116
114
111
109
107
107
107
107
109
111
111
116
122
122
123
131
135
134
137
144
145
146
145
150
152
149
148
148
147
143
141
138
133
131
127
124
120
117
114
111
110
108
108
108
108
108
111
113
114
117
121
125
127
130
135
138
141
143
147
149
149
150
150
150
148
147
144
142
140
137
133
128
124
121
119
115
113
110
109
108
107
108
108
110
111
115
117
120
123
127
130
134
137
140
143
146
148
149
150
150
150
148
147
145
143
140
137
132
128
126
122
120
116
113
110
108
108
107
107
107
109
111
113
115
119
122
126
129
133
136
139
143
145
147
149
150
150
151
150
148
146
144
141
137
134
130
127
124
121
118
114
112
109
108
107
107
107
108
110
112
115
118
121
124
127
130
134
138
141
144
146
148
149
150
150
150
148
147
144
142
139
135
132
127
125
121
118
115
113
110
109
108
107
108
108
110
112
114
117
121
123
127
130
134
137
140
143
145
148
148
150
150
150
149
147
145
142
140
136
132
128
126
122
119
116
114
111
109
108
107
108
108
109
111
113
116
119
123
126
129
132
136
139
142
144
147
148
149
150
150
149
148
146
144
141
137
134
130
127
124
121
118
114
111
110
109
107
107
108
108
111
113
116
119
121
124
127
130
134
138
141
144
146
148
150
151
150
150
148
147
144
142
138
134
131
127
125
122
118
115
113
111
109
108
108
108
108
110
113
116
114
119
123
124
132
136
136
143
145
144
148
150
149
150
149
147
145
144
143
140
136
133
131
127
124
121
117
113
110
109
107
106
107
108
108
110
113
116
120
123
127
129
133
136
139
142
143
147
147
149
150
150
149
148
146
144
141
138
134
130
127
123
120
116
114
111
110
109
108
107
107
109
110
112
115
118
121
125
128
132
135
138
142
144
147
148
149
150
150
150
148
146
144
141
138
135
131
127
124
121
118
115
113
111
109
108
108
108
108
110
111
114
117
120
123
127
130
134
138
140
144
145
148
149
150
150
149
148
147
145
143
140
136
133
129
127
123
119
116
113
111
109
108
107
107
107
109
110
113
115
119
122
126
129
133
137
140
143
145
147
149
150
150
150
149
147
145
142
140
137
133
130
127
123
120
117
114
111
110
109
108
108
108
109
111
113
116
119
122
125
128
132
135
138
141
144
146
148
149
150
150
149
148
147
144
141
138
135
131
127
124
121
117
114
112
109
108
108
107
107
109
111
112
115
117
120
124
127
129
133
136
140
143
145
147
149
150
150
150
149
148
145
143
140
137
133
128
125
121
119
116
113
111
109
108
107
108
108
110
111
114
116
119
122
126
129
132
136
139
142
144
148
148
150
150
150
149
147
145
143
141
137
133
129
127
123
120
117
114
111
109
108
108
107
108
110
111
113
115
118
121
124
127
131
134
138
142
144
146
148
149
150
150
149
148
146
144
141
138
135
131
128
125
122
118
115
113
111
109
108
108
107
108
110
111
114
117
120
123
127
129
133
137
140
143
145
147
149
150
150
150
148
147
145
143
140
137
133
129
126
123
119
116
113
111
109
108
107
107
108
109
111
114
116
120
123
126
129
132
136
139
142
144
147
149
150
150
150
149
148
146
144
140
137
134
129
127
126
117
116
118
111
108
108
108
108
107
107
111
113
114
118
121
124
127
131
133
137
141
143
146
148
149
150
151
150
148
147
145
141
139
135
131
128
125
122
119
114
112
111
109
106
107
108
108
109
111
114
117
119
123
127
130
133
137
141
143
146
148
149
150
150
150
149
147
145
142
139
136
132
129
126
123
119
116
114
111
109
108
107
107
108
109
111
113
116
119
122
126
129
133
136
140
142
145
147
148
149
149
150
149
148
146
144
140
137
134
130
127
124
120
118
115
112
110
108
107
107
107
108
110
111
115
118
121
125
127
131
134
138
141
143
146
148
149
149
150
149
149
147
144
142
138
135
132
127
124
121
119
118
108
109
112
106
105
106
110
109
109
114
118
120
122
127
131
133
137
140
142
145
147
149
149
150
150
149
148
146
144
140
137
133
130
127
123
118
116
114
111
108
108
108
107
108
109
112
114
115
118
122
126
128
132
135
139
142
145
147
149
150
151
150
149
148
146
143
140
137
133
130
127
124
120
117
115
112
110
108
108
107
108
109
110
112
114
118
121
124
127
132
135
139
142
144
147
149
150
150
150
149
148
146
144
142
138
135
131
127
125
121
118
115
112
110
108
107
107
107
109
109
112
114
117
120
124
127
130
134
137
140
143
146
147
149
150
150
149
148
147
145
143
140
137
133
129
126
122
119
116
113
111
109
108
107
107
108
110
111
114
116
120
124
127
128
132
136
140
142
144
146
148
149
150
150
149
147
146
144
140
137
134
130
127
123
120
117
114
112
110
108
108
107
108
109
110
112
115
119
122
124
127
131
135
138
141
144
146
148
150
151
151
150
149
147
145
142
138
135
132
128
125
122
118
116
113
111
109
108
108
108
109
110
112
113
116
119
122
125
128
132
136
139
142
145
146
148
150
150
150
150
148
146
144
140
137
133
130
126
123
120
117
114
112
110
109
108
108
109
110
111
113
115
118
121
125
127
131
135
139
142
145
147
149
150
150
150
149
148
147
144
143
139
135
131
127
124
120
117
114
111
110
108
107
107
107
108
109
111
114
117
120
124
127
131
134
138
141
144
146
148
150
150
150
150
149
147
147
144
136
135
131
127
127
123
118
118
113
109
110
108
107
107
108
108
110
113
117
121
123
127
131
134
137
141
143
144
147
149
149
150
151
150
147
146
144
141
137
133
130
126
122
119
115
112
110
108
107
107
107
108
109
111
113
115
119
122
126
128
132
136
139
142
145
147
149
150
151
150
149
148
145
143
140
137
133
130
127
124
121
117
115
112
110
108
107
108
108
109
111
112
115
118
121
125
128
132
135
139
142
144
147
148
150
150
149
149
148
146
144
141
138
134
131
127
124
121
118
115
112
111
109
108
107
108
109
110
112
114
118
120
124
127
130
133
136
140
143
145
147
149
149
150
149
148
147
144
142
139
136
133
129
127
123
120
117
114
111
110
108
108
107
108
109
111
113
115
119
122
126
129
133
135
139
142
144
146
148
149
149
149
148
147
145
144
140
138
134
131
127
124
121
118
115
112
110
109
108
107
108
109
110
112
115
118
121
125
127
131
134
138
141
144
145
148
149
150
150
149
148
146
145
142
139
135
132
128
125
122
118
116
113
111
109
107
107
107
108
109
111
113
116
119
123
126
129
133
136
139
143
145
147
149
150
150
150
150
148
146
144
140
137
133
130
126
123
119
117
114
111
109
108
107
107
108
109
110
112
115
118
122
125
128
132
135
139
142
144
146
148
149
150
149
149
148
146
143
140
138
135
132
127
124
121
118
115
112
110
108
107
107
108
108
109
111
115
118
121
124
127
131
134
138
141
144
146
148
149
150
150
150
149
147
144
142
140
136
132
127
125
122
119
115
112
110
108
107
107
107
108
109
111
114
116
119
123
127
130
133
137
140
143
145
148
150
150
151
151
150
148
146
143
140
136
133
129
126
123
119
116
113
111
109
108
107
107
108
109
110
112
115
118
122
125
128
132
136
139
142
145
147
150
148
151
153
147
147
149
144
139
137
134
131
127
122
121
119
114
111
111
108
108
108
107
108
110
112
114
118
121
124
127
131
134
139
142
144
147
148
149
150
150
149
148
145
143
141
138
133
131
127
124
121
117
116
113
110
108
108
107
107
109
111
112
115
118
121
125
127
131
135
137
140
143
146
147
149
150
150
149
149
147
144
142
139
135
132
128
125
122
118
115
112
110
108
107
107
107
108
110
111
114
117
120
123
126
129
132
135
139
142
145
147
148
149
150
151
153
145
146
148
139
136
134
132
126
121
120
118
115
110
110
109
108
108
109
109
110
113
115
117
121
125
127
131
134
138
141
144
145
148
150
150
149
149
149
146
144
141
138
134
131
128
125
122
117
115
113
110
109
108
108
108
110
111
113
114
117
120
124
127
130
134
137
140
143
145
147
149
149
150
149
149
147
145
142
139
136
132
129
126
123
119
116
114
111
109
108
108
107
108
109
111
113
116
119
122
126
128
132
136
139
142
145
146
148
149
149
150
149
148
146
145
141
138
135
131
127
124
121
118
115
112
110
108
107
107
107
108
110
112
114
118
121
125
127
131
134
137
140
143
146
147
149
150
150
150
149
147
145
142
139
136
132
128
125
122
119
116
113
111
109
108
107
108
108
109
112
114
116
120
123
127
129
133
136
140
143
145
147
149
150
150
150
149
148
145
143
140
137
132
129
127
123
119
116
114
111
110
108
108
107
108
109
111
113
115
118
121
126
128
132
136
139
143
145
147
149
150
150
150
149
148
146
144
140
137
134
131
127
124
121
117
115
112
109
108
107
107
107
108
110
111
114
118
121
124
127
131
134
138
141
144
147
149
150
150
151
150
149
146
144
142
139
136
133
128
124
122
119
116
113
111
108
108
108
108
108
109
111
113
116
120
123
127
129
133
136
139
142
145
147
149
149
150
150
149
147
144
143
140
137
133
129
126
123
120
117
113
110
109
107
107
107
107
109
110
113
116
120
123
127
129
132
136
139
142
144
147
148
150
150
150
149
148
146
144
140
138
134
130
127
123
120
116
114
111
110
108
107
107
107
108
110
112
114
120
121
121
127
129
133
140
141
144
149
149
149
152
150
150
149
146
143
140
138
136
132
128
126
123
119
117
115
111
108
107
107
106
108
109
111
113
116
120
123
127
129
133
136
140
143
145
147
149
150
149
150
148
147
145
143
140
136
133
129
127
123
119
116
114
111
109
107
107
107
108
109
110
113
116
119
122
126
129
133
136
139
142
144
147
148
149
150
149
149
147
146
144
141
138
135
131
127
124
121
117
115
112
110
108
107
107
107
108
110
112
114
118
121
124
127
131
134
137
141
144
146
147
149
150
149
149
148
147
144
142
139
135
132
128
125
122
119
115
113
111
109
107
107
108
109
110
111
114
116
120
123
127
129
133
136
140
143
146
147
148
150
150
150
148
147
145
143
140
137
133
130
127
124
120
117
114
111
109
108
107
107
107
109
111
113
116
119
122
126
129
132
135
138
141
144
146
147
149
149
149
148
147
145
143
141
138
135
131
127
125
121
118
115
112
110
109
107
107
107
109
110
113
115
118
121
124
127
131
134
137
140
143
145
147
149
149
149
149
148
147
144
142
139
136
133
129
126
122
118
116
113
111
109
108
107
107
108
109
111
114
117
120
123
127
129
133
137
140
142
144
147
148
149
150
150
149
148
146
144
140
137
134
130
127
124
120
117
114
111
109
108
107
107
107
109
110
113
115
119
122
126
129
132
135
139
142
144
146
148
150
150
150
149
148
147
144
141
138
135
131
127
124
121
117
115
112
110
108
107
107
108
108
109
111
114
117
120
124
127
131
134
137
141
144
146
148
150
151
151
150
149
147
144
142
139
136
132
128
125
121
119
115
113
111
109
107
107
107
108
109
111
113
116
120
123
127
129
133
137
140
144
145
148
149
150
150
149
148
147
145
142
140
137
134
130
126
122
120
116
114
111
109
111
105
108
110
108
110
113
116
119
121
124
130
133
135
139
143
144
147
149
148
149
150
149
147
145
143
142
139
135
131
127
124
121
118
115
111
110
109
108
107
106
108
111
111
114
117
121
124
127
131
135
138
141
144
146
148
149
150
150
149
148
147
144
142
139
136
132
128
126
122
119
115
113
111
108
107
107
107
108
110
111
113
116
122
124
123
130
137
134
138
144
146
147
146
151
152
150
148
148
146
143
140
137
133
129
127
122
119
116
113
111
109
108
107
108
108
109
111
114
114
117
122
125
127
132
136
139
142
145
148
149
150
150
151
150
148
146
144
141
138
134
130
127
123
120
118
114
112
109
108
107
107
106
107
109
111
114
117
121
124
127
131
135
138
141
144
146
148
149
150
150
150
148
146
144
141
138
135
132
128
125
121
119
115
113
111
109
107
107
107
108
110
111
114
116
121
124
127
130
134
137
140
143
145
147
149
149
150
149
149
147
145
143
140
136
133
129
127
123
120
116
114
111
109
108
107
108
108
109
111
114
116
119
122
125
128
131
135
138
142
144
146
148
149
150
149
149
147
146
143
141
137
134
130
127
124
120
117
114
112
110
109
108
108
108
109
111
113
115
117
121
124
127
130
134
137
140
144
146
148
149
150
150
149
148
147
144
141
139
135
131
128
126
121
118
116
114
111
109
108
107
108
108
109
111
113
116
120
122
126
129
132
136
139
142
144
147
149
150
150
150
149
147
145
143
140
137
134
130
127
123
120
117
114
111
109
107
107
107
107
109
110
113
115
118
121
125
128
132
136
139
142
145
147
148
149
150
150
150
148
146
144
141
138
135
131
127
125
121
118
115
112
110
109
107
107
107
108
109
111
114
117
120
123
127
131
134
138
141
144
146
149
150
151
150
150
148
147
144
142
139
136
132
128
126
123
119
116
113
110
108
107
106
106
107
108
111
113
116
119
123
127
130
133
137
140
143
146
148
149
151
151
151
150
148
146
143
139
137
133
130
127
122
119
116
112
110
108
107
106
107
108
109
111
113
116
119
122
125
129
131
136
139
143
145
147
150
150
151
150
150
148
146
143
140
137
136
131
122
122
118
114
116
113
109
111
110
107
109
110
110
113
114
116
119
124
127
132
135
139
143
145
147
150
150
149
149
149
147
145
144
141
138
134
131
127
125
122
119
115
112
111
109
108
107
107
108
110
111
114
117
120
123
127
130
133
136
140
143
145
147
148
149
149
149
149
147
145
142
140
136
133
129
127
123
120
116
114
111
109
108
107
108
108
110
111
114
117
119
123
125
128
132
135
139
141
144
146
148
148
149
149
149
147
146
143
140
138
134
131
127
124
121
118
115
112
111
109
108
108
108
109
111
112
115
117
121
124
127
130
134
137
140
144
145
147
148
150
149
149
148
146
144
141
138
135
132
128
125
122
119
116
114
112
110
109
108
108
108
110
111
114
116
119
123
126
129
133
136
140
143
145
148
148
150
150
150
149
147
145
143
140
137
134
130
127
124
120
117
114
111
109
108
107
107
108
109
110
112
115
117
121
124
127
131
135
138
141
144
147
148
149
150
150
149
148
146
144
141
138
135
132
128
126
122
118
115
112
110
108
107
107
107
107
109
111
114
117
120
124
127
131
134
138
140
144
146
148
149
150
150
150
148
147
144
141
139
136
132
128
126
122
119
115
111
110
107
107
106
106
107
109
111
113
116
120
123
126
130
133
137
140
144
146
148
149
151
151
151
150
148
146
144
140
137
133
129
126
123
119
116
113
111
109
107
107
106
107
108
110
112
115
118
122
125
128
132
135
139
142
145
147
149
150
150
150
149
148
146
144
141
137
134
130
127
124
120
118
114
112
110
108
108
107
107
108
110
112
115
117
121
125
127
131
135
139
141
144
146
148
149
150
150
149
148
146
144
141
139
135
132
128
125
121
118
116
112
111
108
108
107
108
108
110
111
114
117
120
124
127
130
133
137
139
142
144
147
150
149
148
152
150
146
145
143
140
137
131
129
127
123
119
117
114
112
110
108
107
107
108
109
111
112
115
119
122
125
128
132
135
138
141
144
146
149
150
150
149
148
149
151
140
140
141
134
129
127
126
121
115
114
114
111
107
108
108
108
109
111
112
115
118
121
125
127
131
134
138
141
144
146
148
149
150
151
150
148
146
144
141
138
136
132
127
123
121
119
116
112
110
109
108
107
108
108
110
112
115
117
120
124
127
129
132
136
139
143
145
148
150
151
151
151
150
147
145
143
141
137
132
128
126
122
119
116
113
111
109
108
108
108
108
109
111
113
116
118
122
125
128
132
136
139
142
144
147
149
150
151
150
149
148
146
144
141
137
134
131
127
124
120
118
115
112
110
109
108
107
108
109
111
112
115
118
121
124
127
131
134
137
140
144
145
147
148
149
149
149
148
146
144
142
139
136
132
128
126
122
119
115
113
111
109
108
108
108
109
110
111
114
117
120
123
126
129
133
136
139
143
145
147
149
150
150
150
149
148
146
143
140
137
133
130
127
123
119
116
114
111
109
108
107
108
108
109
111
112
115
118
122
125
127
132
135
139
142
144
147
149
150
150
149
149
148
146
144
141
138
134
131
127
125
121
118
115
113
110
109
108
108
108
108
110
111
115
118
121
124
127
131
135
138
141
144
146
148
149
150
150
149
148
146
144
142
139
135
132
128
126
122
118
115
113
111
109
108
107
108
108
110
111
114
117
119
123
126
130
133
137
140
142
145
147
148
149
150
149
149
147
145
143
140
136
133
129
126
123
119
116
114
111
109
108
107
107
108
109
111
113
116
119
123
126
129
132
136
139
142
145
147
148
149
150
149
149
148
146
143
141
138
134
131
127
124
121
118
115
112
110
108
108
107
108
108
110
112
115
117
121
124
127
130
134
138
140
144
145
148
149
150
150
150
149
147
144
142
139
136
132
129
126
123
120
116
113
111
110
109
108
108
108
109
111
113
116
119
122
126
129
133
137
139
143
145
147
149
150
150
150
149
148
146
143
140
136
133
129
127
124
120
116
114
111
109
108
107
107
108
109
111
113
116
119
122
125
130
134
133
137
141
141
148
150
148
151
152
148
148
148
144
142
139
133
130
127
125
122
118
114
113
111
109
109
108
107
107
109
110
113
117
120
123
127
130
134
137
141
144
146
148
149
150
150
150
149
147
145
143
140
137
133
129
126
122
119
116
113
111
109
108
107
107
108
110
111
114
116
119
122
126
129
132
136
139
142
145
147
149
150
150
150
149
147
146
142
140
137
134
130
126
123
120
117
114
111
109
108
107
108
108
109
111
113
116
118
122
125
128
132
135
139
142
144
146
148
150
150
150
149
148
146
144
141
139
135
131
127
125
122
118
115
112
110
108
107
106
107
107
109
111
114
117
120
124
127
130
134
138
141
143
146
148
149
150
150
150
149
147
145
142
139
135
132
129
126
123
119
116
114
112
109
108
107
108
108
109
111
113
116
119
123
127
130
133
137
140
143
145
146
148
148
148
148
148
146
144
142
139
136
133
130
127
124
120
118
115
112
110
109
108
107
108
109
111
113
116
119
123
126
129
133
136
139
142
144
146
147
148
149
148
148
147
145
143
140
138
134
131
127
125
122
118
115
112
111
109
108
108
108
109
110
112
114
117
121
124
127
131
134
137
140
143
145
147
149
149
150
149
148
146
145
141
139
135
132
128
126
122
119
117
114
112
110
109
109
108
109
109
111
113
116
118
122
125
129
132
135
139
141
144
146
148
149
150
149
149
147
145
143
140
138
134
131
127
125
121
118
115
113
111
109
108
107
107
108
110
111
114
117
121
124
127
131
134
138
141
144
146
148
148
150
150
149
148
146
144
142
139
135
132
128
125
121
118
115
112
110
108
107
107
107
108
109
111
114
117
121
124
127
131
134
138
140
144
146
148
150
151
151
150
149
147
145
143
139
136
132
129
125
122
118
115
112
110
109
106
107
109
104
110
117
111
114
120
125
124
126
133
137
139
140
147
149
149
150
152
151
149
149
146
143
140
137
132
130
127
123
120
117
114
111
109
107
107
107
109
107
109
113
116
117
121
126
128
132
135
140
143
144
147
149
150
150
150
149
148
146
144
141
138
134
131
128
125
121
118
115
112
110
108
108
107
108
109
110
112
114
117
120
124
127
131
134
138
141
144
146
148
149
149
149
149
148
146
144
141
138
135
132
129
125
122
118
116
113
111
109
108
107
107
108
110
111
113
116
119
123
127
129
133
137
140
144
146
148
149
150
150
150
149
147
146
143
140
137
133
130
127
123
119
117
113
111
109
107
107
107
107
108
110
112
115
118
122
126
128
132
135
138
141
144
146
148
149
149
150
149
148
145
144
140
138
135
132
127
124
121
118
115
112
110
108
108
108
108
109
111
113
115
118
121
124
127
130
133
137
140
143
145
147
149
150
150
149
148
146
144
142
140
136
131
127
125
123
119
117
113
111
110
108
108
108
108
109
111
113
116
119
122
126
129
132
136
140
142
145
147
149
150
150
150
149
147
146
143
140
137
134
130
127
124
120
117
114
112
109
107
107
107
107
108
111
113
115
118
122
125
127
131
134
138
140
144
146
147
148
149
149
149
148
146
144
142
139
135
132
128
126
122
119
116
112
110
108
108
107
107
108
110
112
114
117
120
124
127
130
133
137
140
143
145
147
149
149
150
150
149
147
145
142
139
136
133
129
126
122
119
116
113
111
109
108
107
107
108
109
111
112
115
118
122
125
129
132
135
139
142
145
147
149
150
151
151
150
149
146
144
140
137
134
130
127
123
120
117
114
111
109
108
107
107
108
108
110
112
115
117
121
125
127
131
134
138
141
144
146
148
149
150
150
150
149
147
145
142
138
135
131
127
125
121
118
115
112
110
108
107
107
107
107
109
111
113
116
119
123
126
130
133
137
141
144
147
149
151
151
152
151
150
148
146
143
140
136
132
128
126
122
119
116
112
110
108
107
106
106
107
108
111
113
116
119
123
126
129
133
137
140
142
145
147
148
149
150
149
149
148
146
143
140
137
133
130
126
123
121
114
111
110
106
108
109
106
109
111
110
114
118
119
123
127
127
131
134
139
143
144
146
149
150
150
151
150
148
145
143
140
137
134
131
127
123
121
118
115
112
111
109
108
108
108
108
109
111
114
117
120
124
127
130
134
137
140
143
146
147
149
150
150
150
149
147
144
142
139
136
132
128
126
122
119
116
114
111
110
109
108
108
108
110
111
114
117
120
122
126
128
133
136
139
142
144
146
148
149
150
149
148
147
145
143
140
137
134
130
127
124
121
118
115
112
110
108
108
108
108
109
111
113
115
118
121
125
127
131
134
138
141
144
146
147
149
150
149
148
148
147
144
141
139
136
132
128
125
122
118
115
112
111
108
107
107
107
108
109
111
114
117
120
123
127
130
134
137
140
143
146
148
150
151
150
150
148
147
144
141
139
136
133
129
125
122
119
116
113
111
108
107
107
107
107
109
110
113
116
119
122
126
128
132
136
139
143
145
147
149
150
151
151
149
148
146
144
141
138
134
130
127
124
120
117
114
111
109
108
108
107
108
109
110
112
114
118
121
125
128
131
135
138
142
144
147
149
150
150
150
150
149
146
144
141
137
134
131
127
124
122
118
115
112
110
108
107
107
107
109
110
111
114
117
121
124
127
130
134
138
141
144
146
148
149
150
149
149
148
147
144
142
139
136
132
129
126
122
119
116
113
111
109
108
107
107
108
109
111
114
117
120
123
127
129
133
136
139
142
145
147
148
149
149
149
149
148
146
144
140
138
134
130
127
120
120
116
114
111
109
108
107
107
107
108
110
112
115
119
122
125
127
131
135
138
141
144
146
148
149
149
150
149
149
149
141
142
142
134
129
127
126
121
115
114
114
111
108
108
109
108
109
110
111
114
117
120
124
127
130
134
137
140
143
146
148
148
151
152
147
146
148
145
140
137
136
132
127
124
123
121
116
113
111
110
108
108
107
108
110
111
114
116
119
123
126
129
133
136
139
142
145
147
148
150
150
150
150
147
145
144
141
136
134
130
127
123
120
117
114
111
109
108
106
107
107
108
110
112
115
118
121
125
128
132
135
138
141
144
146
148
149
151
151
150
149
148
145
142
139
136
131
128
125
121
118
116
113
111
110
108
108
108
109
109
111
114
116
120
123
127
128
133
136
139
142
144
147
148
150
150
150
149
148
145
143
139
136
132
129
126
123
120
116
114
111
110
108
108
108
107
109
111
113
115
119
122
126
128
132
136
139
143
146
148
150
151
152
152
151
149
147
144
141
137
134
130
127
123
119
116
113
111
108
108
107
107
107
108
109
112
114
117
121
125
127
131
135
138
142
145
147
149
150
151
151
151
149
147
145
142
138
135
131
128
124
122
118
115
112
110
109
107
107
107
108
110
111
114
117
120
124
127
131
134
138
141
144
147
149
149
151
150
150
149
147
144
142
139
135
133
128
125
122
119
115
112
110
108
107
107
107
108
109
111
114
117
120
123
127
130
134
137
141
144
146
148
149
150
150
150
149
147
145
143
141
137
134
129
125
122
119
116
113
111
109
108
108
108
108
109
111
114
116
119
122
126
128
132
136
139
142
144
147
148
150
150
150
149
147
145
143
142
138
134
130
127
125
121
119
115
112
110
110
108
108
108
109
110
112
114
117
120
123
127
130
134
137
140
143
146
148
149
149
150
149
148
146
144
141
138
135
132
129
126
122
119
116
114
111
109
108
107
108
109
110
111
114
116
119
122
126
129
133
136
140
142
145
147
148
150
150
150
149
148
145
144
140
137
133
130
127
123
120
117
114
112
110
108
107
107
107
108
110
113
115
118
121
125
127
131
134
138
141
144
146
148
149
150
150
149
148
146
144
141
139
135
132
128
125
121
118
115
113
110
109
107
107
107
107
109
111
113
117
120
123
127
130
134
137
141
143
146
147
149
150
150
150
149
147
145
143
140
137
133
129
126
122
118
116
113
110
108
107
108
108
108
110
111
114
116
119
122
126
128
132
135
138
142
144
147
148
149
150
149
148
147
145
143
143
138
130
129
125
121
123
118
113
114
111
107
109
109
108
110
110
111
114
117
122
125
127
131
136
139
142
146
148
147
149
150
149
149
149
147
144
141
138
135
131
127
125
121
118
115
112
110
108
107
106
106
107
109
111
113
117
120
123
127
130
134
137
140
144
146
148
150
151
151
150
149
147
145
143
139
136
133
128
126
122
119
115
113
110
109
107
107
107
107
109
111
113
116
120
123
126
129
133
136
139
143
145
147
149
150
150
150
149
148
146
143
140
137
134
130
127
123
120
117
114
111
109
108
108
108
108
109
110
113
115
118
121
125
128
132
135
138
142
144
146
148
149
150
150
149
148
146
144
141
137
134
131
127
124
121
117
115
112
110
108
107
107
107
108
109
111
114
116
120
124
127
130
134
138
141
144
146
148
150
151
151
151
149
148
145
143
139
136
132
129
126
123
119
116
113
111
109
108
108
108
109
110
111
113
115
118
121
125
127
132
135
138
142
144
147
148
149
150
150
149
148
146
144
140
137
134
130
127
124
120
117
115
112
111
109
108
108
108
109
110
112
115
118
121
124
127
131
134
138
141
144
146
148
150
150
150
149
148
146
144
141
139
137
132
128
124
122
118
116
113
111
109
108
107
108
108
109
111
114
117
120
124
127
130
133
137
140
142
145
147
148
149
149
150
149
148
146
144
141
138
133
130
127
124
120
116
114
111
108
107
106
106
108
110
113
110
116
122
121
124
128
132
135
136
141
145
147
148
150
152
151
151
149
146
144
141
138
134
130
127
123
120
116
114
111
109
108
107
108
107
108
110
112
114
117
121
125
127
131
136
139
142
145
148
149
150
151
151
150
148
147
144
142
138
135
131
127
124
120
117
114
112
110
109
106
107
109
106
109
114
114
116
121
124
127
130
133
138
142
143
146
149
149
150
150
149
147
146
144
142
139
136
132
129
126
122
119
116
113
111
109
108
107
107
108
109
110
113
117
119
122
127
130
133
136
140
144
146
148
149
150
150
150
149
148
145
143
140
137
134
130
127
123
120
117
114
111
109
108
107
107
107
109
111
113
115
118
121
125
128
132
135
138
141
144
146
147
149
149
149
149
147
146
143
141
137
134
131
128
125
122
119
116
113
111
109
108
108
108
108
110
111
115
117
121
124
127
129
134
137
140
143
145
148
149
150
150
150
148
147
144
142
139
136
132
129
125
122
119
115
113
111
109
108
108
107
108
109
111
114
116
119
122
126
128
132
136
139
142
145
147
149
150
150
150
149
148
146
143
140
137
134
129
127
123
120
117
114
111
110
109
108
108
108
109
110
112
115
118
121
125
127
131
135
138
141
144
145
147
148
149
149
148
147
145
143
141
138
135
131
128
126
122
119
116
113
111
110
108
107
107
108
110
111
114
117
120
124
127
130
133
136
140
142
145
147
148
149
150
150
149
148
145
143
140
136
133
129
126
123
119
116
113
111
110
108
107
107
108
109
111
113
116
119
122
126
128
132
136
139
142
145
147
148
150
150
151
150
149
146
144
141
138
133
130
127
124
120
117
115
111
110
108
108
108
108
109
110
112
115
118
121
125
127
131
135
138
141
144
146
147
149
149
150
149
148
146
144
142
139
135
132
128
125
121
118
115
113
111
108
107
107
107
108
110
111
113
117
120
123
127
130
133
137
140
143
146
148
150
150
151
150
149
147
144
142
139
137
133
129
125
122
119
116
113
110
109
108
107
107
108
109
111
113
116
119
122
126
129
132
136
139
141
144
147
148
149
150
150
149
148
145
144
141
138
134
130
127
124
121
117
114
111
110
108
108
108
108
109
111
113
116
118
121
125
127
131
134
137
140
143
145
147
149
149
149
149
148
146
144
142
139
136
132
128
125
122
118
115
112
111
109
108
108
108
109
111
112
115
117
120
124
127
130
134
136
140
143
146
148
149
149
150
149
148
147
145
143
140
137
132
129
126
122
119
116
113
111
110
108
107
108
109
110
112
114
116
119
122
125
128
131
134
138
141
147
146
144
149
147
148
152
148
146
147
141
137
136
132
127
126
121
116
114
112
111
109
107
108
109
108
111
113
114
117
120
123
127
131
135
138
141
144
147
149
150
151
150
149
149
146
144
141
138
135
132
128
126
122
119
115
112
110
108
107
106
107
107
109
111
113
116
120
124
127
131
134
137
141
144
146
148
149
150
151
150
149
148
145
143
140
136
132
129
126
123
119
116
113
111
109
108
107
107
108
109
111
113
116
119
122
126
128
132
136
140
142
145
147
149
150
150
151
149
148
146
144
141
138
134
130
127
124
120
117
114
111
109
108
107
107
108
109
110
113
115
119
121
125
128
132
135
138
142
144
146
148
149
150
150
150
149
146
144
141
138
135
131
127
125
121
117
114
111
110
108
107
108
108
109
110
112
115
117
120
124
127
130
134
138
141
144
146
148
150
150
151
150
149
147
144
141
138
135
132
129
126
123
119
116
114
111
109
108
108
108
108
109
111
113
116
119
123
126
129
132
136
140
142
145
147
149
150
150
149
149
147
145
143
140
137
133
130
127
124
120
117
115
112
110
108
107
107
107
108
111
113
115
119
122
125
128
132
135
139
142
144
146
148
149
150
148
149
150
147
142
142
142
133
131
128
125
121
116
116
114
110
108
108
108
107
109
110
111
114
117
120
123
127
129
133
136
139
143
145
147
149
150
150
149
148
147
145
142
139
137
133
129
126
123
120
117
114
112
110
108
108
107
108
109
111
113
115
118
122
126
128
132
135
139
142
145
147
149
150
150
150
149
148
145
143
140
138
135
130
127
123
120
117
114
111
110
107
107
107
107
108
110
111
115
118
121
125
128
132
135
139
142
145
146
148
148
150
149
149
150
143
144
144
138
135
131
128
125
120
118
116
112
110
109
108
108
108
108
109
111
114
116
119
123
127
129
133
137
140
143
144
146
148
149
149
149
149
147
146
142
140
137
132
129
126
123
119
116
113
112
109
108
107
108
108
109
111
113
115
119
122
125
128
132
136
139
142
144
147
149
150
150
150
150
148
146
144
141
137
133
131
127
123
120
117
114
111
109
108
107
107
107
109
111
112
115
118
121
125
127
131
135
138
141
144
146
148
148
149
149
148
148
146
144
141
138
135
131
127
124
121
118
116
113
111
110
109
108
107
108
110
112
114
117
120
124
127
130
134
137
141
144
146
148
149
150
150
150
148
146
144
141
138
135
131
128
125
122
118
116
113
111
110
108
108
107
108
109
111
113
116
119
122
126
129
133
137
140
143
146
147
149
150
149
149
148
147
144
142
139
136
133
130
127
124
121
117
115
112
110
108
108
107
108
109
111
113
116
119
122
126
128
131
135
138
141
144
146
147
149
149
150
149
148
146
144
141
139
135
132
128
125
122
118
116
113
111
109
108
108
108
109
110
112
114
117
119
123
126
129
132
136
139
142
145
147
149
150
151
150
149
148
145
143
140
136
132
129
126
123
119
116
114
111
110
109
108
108
108
109
111
113
116
119
122
125
128
132
135
139
142
145
147
149
150
150
150
149
148
146
144
140
137
134
130
127
124
120
118
114
112
110
108
107
107
107
108
110
111
114
117
121
124
127
131
134
138
141
144
146
148
150
150
150
150
149
147
144
142
139
135
132
129
126
122
119
116
113
111
108
108
107
107
108
109
111
114
116
119
123
127
130
133
137
140
144
146
148
150
150
150
150
149
147
145
142
140
136
132
129
126
122
119
116
113
111
109
107
107
107
108
109
111
113
117
119
123
126
129
133
136
139
142
145
147
149
149
150
150
149
148
146
144
141
138
134
130
127
124
120
117
114
111
109
107
107
107
107
108
110
112
115
118
122
125
127
131
134
138
141
144
146
148
149
150
150
150
149
147
144
141
139
136
132
127
124
121
119
115
112
110
109
108
107
108
107
109
111
114
118
120
124
127
130
133
137
140
143
146
148
150
150
150
150
149
146
145
142
139
135
131
127
125
123
120
117
114
112
110
109
107
107
108
108
111
115
118
115
120
125
126
133
137
138
144
147
145
149
151
150
150
150
146
144
143
141
139
134
131
128
125
121
119
116
111
109
107
106
106
107
108
109
111
115
118
122
125
128
131
135
138
141
143
145
148
149
150
150
150
149
147
145
141
138
134
131
127
124
121
118
115
112
110
108
107
107
107
108
110
111
114
116
120
123
127
130
133
137
140
144
146
148
149
150
150
150
149
147
145
142
140
136
133
129
126
123
120
116
114
111
109
109
108
108
109
110
111
113
115
118
122
125
128
131
135
139
142
144
146
148
149
149
149
149
147
145
143
140
137
134
130
127
123
120
117
114
111
109
108
108
108
108
109
111
113
115
118
121
125
127
131
135
138
141
145
147
148
150
150
150
150
148
146
143
141
138
134
132
128
126
122
119
115
113
111
109
107
108
108
108
109
111
113
116
120
123
127
130
133
136
139
143
145
148
149
150
150
149
148
147
145
143
140
136
134
129
127
122
119
116
113
111
109
108
107
106
108
111
110
112
118
122
122
125
131
133
135
137
143
146
146
148
150
150
149
150
148
146
144
141
138
135
131
127
123
120
116
113
111
108
107
107
107
106
108
111
112
115
118
123
126
127
131
135
138
141
143
146
148
149
150
150
150
149
147
145
142
139
135
132
127
124
121
118
114
112
110
108
108
108
108
109
111
112
115
117
120
123
127
130
133
137
140
143
146
148
149
150
151
150
149
147
145
142
139
135
132
129
126
122
120
116
114
111
109
108
107
107
107
109
110
113
116
119
123
125
129
132
136
139
143
145
147
149
150
150
150
149
147
146
143
140
137
134
130
127
124
121
118
114
112
109
108
107
107
107
108
111
114
116
117
124
127
127
131
135
139
141
142
145
148
148
149
149
149
147
146
144
140
138
134
131
127
125
121
118
115
113
111
109
108
108
108
109
111
112
115
117
120
123
127
130
132
136
140
143
144
147
149
150
149
149
149
147
145
142
140
137
134
130
126
123
120
118
115
112
110
109
108
108
108
109
111
113
116
118
122
125
128
132
135
138
141
144
146
147
148
149
149
149
148
145
144
142
139
134
130
127
125
122
119
115
112
110
109
108
107
108
108
110
112
115
117
121
124
127
130
134
137
140
144
146
148
149
151
150
150
148
146
145
142
139
135
132
128
126
122
119
116
113
111
109
108
107
107
107
109
111
113
116
119
123
126
130
133
137
140
143
145
148
149
150
150
149
149
147
145
143
140
137
133
130
127
123
120
117
114
111
110
108
107
107
107
109
111
112
116
119
123
126
129
132
136
139
141
144
146
148
149
149
149
149
147
146
144
141
138
135
131
127
125
121
117
115
111
110
108
108
107
108
108
110
112
114
117
121
124
127
130
133
137
140
143
145
147
149
150
150
149
149
147
145
142
139
136
132
128
125
122
119
116
113
111
109
108
108
108
108
110
111
113
116
119
123
126
129
133
137
140
143
146
147
149
150
150
150
149
147
146
143
140
136
132
129
126
123
119
116
113
111
109
107
107
106
107
108
110
112
115
118
122
125
129
133
136
140
143
145
148
149
150
151
150
150
149
147
144
142
138
134
131
127
124
121
117
114
111
109
107
107
106
107
107
109
111
114
117
121
124
127
131
134
138
141
144
146
148
149
150
150
149
148
146
144
141
139
135
132
128
125
121
118
115
112
110
109
108
107
108
108
110
112
114
117
120
124
127
130
133
137
140
143
146
147
149
150
150
149
149
147
144
142
139
136
132
129
126
123
119
116
113
111
109
108
107
107
108
109
111
113
116
119
123
126
129
132
135
139
141
144
146
148
149
149
149
149
148
145
144
140
138
134
131
127
124
121
117
115
112
110
108
108
107
108
109
111
112
115
117
120
124
127
130
133
137
140
144
145
148
149
150
151
150
149
146
144
141
138
135
132
128
125
122
119
117
114
112
110
108
108
108
108
110
111
114
116
119
123
126
129
132
136
139
142
145
146
148
149
149
149
149
147
146
143
140
137
133
130
126
123
119
117
117
111
107
108
105
107
111
109
111
115
115
118
123
125
127
132
133
137
140
144
147
149
149
151
152
151
150
149
145
141
139
135
131
127
124
120
117
115
112
109
108
107
107
107
108
109
111
113
116
120
123
127
130
134
138
141
144
146
148
150
151
150
150
149
147
145
143
140
135
131
127
125
122
118
115
112
110
108
107
107
107
108
109
111
114
117
120
123
127
130
134
137
141
144
146
148
149
150
150
150
149
148
145
143
140
136
132
129
126
123
119
116
113
111
109
107
107
107
108
109
111
113
116
119
123
126
129
132
136
139
142
145
147
149
150
150
150
149
148
146
144
141
137
134
130
127
124
120
117
114
111
110
108
108
107
108
108
110
112
115
118
121
126
127
132
135
138
141
144
146
148
149
149
150
150
148
149
141
141
141
134
130
127
126
122
117
116
114
112
109
109
109
108
109
110
111
114
117
120
123
127
130
133
137
140
143
146
147
149
150
150
149
148
147
145
142
139
137
133
129
126
124
120
117
114
111
109
108
108
108
109
109
111
113
116
119
123
126
128
132
135
139
141
144
146
148
149
150
150
150
148
146
144
141
138
134
131
127
124
120
118
115
112
111
109
108
108
108
109
111
112
115
118
120
124
127
131
134
138
141
144
146
148
150
150
150
149
149
146
144
142
138
135
132
128
126
122
119
116
113
111
109
108
107
107
108
109
111
113
116
119
123
126
129
133
137
140
143
146
147
149
150
150
150
149
147
145
143
140
137
133
130
127
124
120
117
114
111
109
108
107
107
107
108
111
112
116
119
122
126
129
132
135
139
142
144
146
148
149
150
149
150
148
147
147
139
138
137
131
127
124
121
117
113
111
110
108
106
107
108
108
110
112
115
118
121
125
127
131
134
137
141
144
146
148
149
150
150
150
148
147
145
142
139
135
132
129
125
122
119
116
112
110
109
108
107
107
108
109
111
114
116
119
123
127
129
132
136
140
143
145
147
149
149
150
149
149
147
145
143
140
137
133
129
127
123
120
116
114
111
109
108
107
107
108
109
111
113
116
119
122
125
128
132
135
138
142
144
147
148
150
150
150
149
148
145
144
141
138
134
131
127
124
120
117
114
111
110
108
107
107
107
108
109
111
114
117
120
124
127
131
134
138
141
144
146
148
150
150
150
150
149
146
144
142
139
135
131
129
126
123
118
115
112
111
109
107
107
107
107
109
111
113
116
120
123
127
130
133
137
140
143
145
147
149
150
150
150
149
147
144
142
138
135
132
129
126
122
118
116
114
111
110
108
108
108
109
110
112
114
116
120
122
126
127
132
135
139
141
144
146
148
149
150
150
149
148
146
144
140
136
133
129
127
123
120
117
115
112
110
108
107
108
108
109
111
113
115
118
121
124
127
130
134
138
141
144
146
149
150
151
150
150
148
147
144
141
138
135
131
127
124
121
118
116
113
110
109
108
108
107
109
109
112
114
116
120
123
126
129
133
137
140
143
145
147
149
149
150
150
148
147
145
142
139
136
133
129
127
123
120
116
113
111
110
107
107
107
108
109
111
113
116
119
122
126
128
132
135
139
141
144
146
148
149
149
150
149
148
146
144
141
138
134
131
127
124
121
117
115
112
110
108
108
107
108
109
110
112
114
118
121
125
127
131
134
138
140
144
146
148
149
150
150
150
148
147
144
142
139
135
132
128
125
122
119
116
113
110
109
108
107
107
109
110
111
114
116
119
123
126
129
133
136
140
142
145
147
149
150
150
150
149
148
145
143
140
137
133
130
127
123
120
116
114
111
110
108
108
108
107
109
110
113
115
118
122
125
127
131
135
138
142
145
147
148
151
151
150
150
148
146
144
141
138
135
131
127
124
121
117
115
112
110
109
107
107
107
108
109
111
114
117
120
124
127
131
135
138
142
144
147
148
149
150
151
150
149
148
144
142
139
135
131
128
125
122
119
116
113
111
109
108
107
107
108
109
111
113
116
120
123
127
130
134
137
140
143
145
147
149
150
149
151
152
146
143
143
137
137
136
129
127
126
119
116
115
110
109
108
106
105
107
109
111
113
115
120
123
125
129
133
135
137
141
143
146
148
150
149
150
150
149
147
144
142
138
135
131
127
124
120
117
114
112
110
109
108
108
108
109
110
112
115
118
121
124
127
131
135
137
141
144
146
148
149
150
150
150
148
146
144
141
138
135
131
128
125
121
118
115
113
111
109
108
107
107
108
109
111
114
117
120
123
127
130
133
137
140
143
146
148
149
150
150
150
149
147
145
142
140
137
134
129
126
122
120
117
114
111
109
108
107
107
108
109
113
110
116
122
120
125
128
133
135
136
142
145
147
147
150
150
150
149
148
145
144
141
139
134
130
127
125
122
118
115
112
110
109
108
107
106
107
109
112
114
118
122
125
127
131
134
138
141
143
146
147
148
149
150
149
148
147
144
142
140
137
133
130
126
122
118
116
113
110
108
107
107
107
107
109
111
113
116
120
123
126
129
133
136
140
142
145
147
149
150
151
151
150
148
146
144
141
138
134
130
127
123
119
116
113
110
109
107
107
107
107
109
110
113
115
118
122
125
128
132
135
138
142
145
147
149
150
151
151
150
148
147
144
140
138
134
130
127
123
121
117
114
111
109
108
107
107
107
108
109
111
114
117
120
124
127
131
134
138
141
144
146
148
150
150
150
150
148
147
145
143
139
136
132
128
125
122
118
116
113
111
109
107
107
107
108
109
111
114
117
121
123
127
130
133
136
139
142
144
146
148
149
149
149
148
147
145
144
140
137
134
129
126
123
119
116
113
111
109
108
107
107
108
110
110
114
118
117
122
127
128
131
135
138
141
143
145
149
150
149
150
150
148
147
144
141
137
134
130
127
124
121
118
115
113
110
109
108
107
108
109
110
111
114
117
120
123
127
131
134
136
141
144
146
148
149
151
150
149
148
147
144
142
138
135
131
129
126
123
119
116
114
111
109
108
107
107
108
109
110
112
115
119
123
127
130
133
137
140
143
145
147
149
150
150
150
149
148
145
143
140
137
133
130
127
124
120
117
114
111
109
107
107
107
108
109
110
113
115
119
122
125
128
132
136
139
142
144
147
148
149
150
150
148
148
145
144
141
138
135
131
127
125
121
118
115
112
110
108
107
107
107
108
110
111
114
118
121
125
128
131
135
138
141
144
146
148
149
150
150
150
149
147
144
142
139
136
132
129
125
122
119
115
112
110
108
107
107
107
108
109
111
113
117
120
123
127
129
133
136
140
143
145
147
149
150
150
150
148
147
145
143
140
137
133
129
126
123
119
116
114
111
110
108
108
108
109
110
111
113
115
119
122
125
128
132
135
138
141
144
147
148
149
150
150
149
148
146
143
140
138
135
131
127
124
121
118
115
112
110
108
108
107
107
108
109
111
114
117
120
124
127
131
135
139
141
144
147
148
150
150
150
150
149
147
144
142
139
137
132
127
125
122
119
115
112
110
109
107
107
107
108
109
111
114
116
120
123
127
129
134
136
140
143
145
147
149
149
150
150
149
147
145
143
140
137
133
130
126
123
120
116
114
111
109
108
107
108
108
109
111
113
116
119
123
126
128
132
135
138
142
144
147
148
150
150
150
149
148
146
144
141
138
134
131
127
124
121
117
115
112
110
109
108
108
107
108
110
112
115
117
121
124
127
131
134
137
140
143
146
147
149
150
149
149
148
146
144
141
139
135
131
128
125
122
119
116
113
111
110
108
108
108
109
110
112
114
117
120
123
127
130
133
136
140
143
145
147
149
150
150
150
149
148
145
143
140
137
133
129
126
123
120
117
114
111
110
108
107
107
108
108
110
112
115
118
121
125
127
131
135
139
142
144
147
148
150
150
150
149
148
146
144
141
139
135
132
128
125
122
118
115
112
110
109
107
107
107
108
109
111
114
117
120
124
127
131
135
138
141
144
145
147
149
149
150
149
148
147
145
142
139
136
132
128
125
122
119
115
113
110
109
107
107
107
108
109
111
113
116
120
123
126
131
135
133
138
141
143
150
151
149
153
152
148
150
147
143
141
137
132
128
126
122
120
115
113
111
109
108
108
108
106
108
110
112
115
118
122
125
128
133
137
140
144
146
148
150
151
151
150
149
148
146
143
141
138
135
131
127
124
121
118
114
111
109
108
106
106
106
107
108
111
114
117
120
123
127
131
135
138
142
145
147
149
150
149
150
149
148
149
141
142
142
135
131
128
127
122
118
115
114
111
108
107
107
107
108
109
111
113
117
120
123
127
130
134
137
141
144
146
148
149
151
150
150
148
147
146
142
139
136
133
129
126
123
119
116
113
111
108
107
106
107
107
109
111
114
116
120
123
126
129
133
136
140
142
144
147
149
150
150
150
149
148
145
144
141
137
134
130
127
123
120
117
114
112
111
109
108
108
108
109
110
112
114
117
121
124
127
130
134
137
141
143
146
147
149
149
149
149
148
146
144
141
139
136
132
128
125
122
119
117
114
111
109
109
108
108
109
110
111
114
117
119
123
126
129
133
136
140
143
145
148
149
149
150
150
148
147
144
142
140
137
133
129
126
123
120
117
114
111
110
108
107
107
108
109
110
112
115
118
122
126
128
132
136
139
142
145
147
148
149
150
149
149
147
146
143
141
138
135
131
127
125
121
118
115
112
110
109
107
107
107
108
110
112
115
118
121
124
127
131
134
137
141
143
145
147
149
150
149
149
148
147
145
142
139
136
133
129
126
122
118
116
113
111
109
107
107
107
108
109
111
114
117
120
123
126
129
133
135
139
142
145
147
148
149
150
150
149
147
145
142
140
138
132
129
128
123
119
117
114
112
109
106
108
108
108
110
111
113
115
119
122
125
128
131
135
138
141
144
147
148
150
150
150
149
148
146
144
141
138
135
131
127
124
122
118
113
112
110
108
107
106
107
109
109
111
114
117
120
124
127
130
134
138
141
144
146
148
150
151
151
151
149
148
145
143
139
136
132
128
125
122
119
115
113
110
108
108
107
107
108
109
111
113
116
119
123
126
129
133
136
139
142
144
146
148
149
150
150
149
147
145
143
140
137
133
129
127
123
120
116
114
111
109
108
107
107
108
109
111
113
116
119
122
126
128
132
136
139
142
144
147
148
149
150
149
148
147
145
144
141
137
135
131
127
124
121
117
114
112
110
108
107
107
107
108
109
111
114
117
120
124
127
131
134
138
141
144
146
148
149
150
150
150
149
147
145
142
139
136
132
128
125
122
118
115
113
111
109
108
108
108
109
110
112
114
117
120
123
126
129
133
135
138
142
144
146
148
149
149
149
149
147
145
143
139
137
133
129
126
123
120
117
115
112
111
109
109
108
109
109
111
112
115
118
121
125
127
131
134
138
141
144
146
148
149
150
150
149
148
146
144
141
139
135
132
128
125
122
118
115
112
110
108
107
107
107
108
110
111
114
118
120
124
127
131
135
138
141
144
146
148
149
150
150
149
148
147
145
142
139
136
132
129
125
122
118
116
113
109
109
107
107
107
108
110
111
114
117
120
122
126
129
133
136
140
142
145
147
149
150
150
150
150
149
146
143
141
138
135
130
126
122
120
116
114
111
109
107
107
107
107
109
110
113
116
119
122
126
129
132
135
138
141
144
146
148
150
150
150
149
148
146
144
142
139
135
130
127
124
121
117
114
111
109
107
107
106
107
109
110
112
115
118
121
124
127
131
135
138
142
144
146
148
150
150
150
150
148
147
144
142
139
136
132
128
125
122
119
115
113
110
109
108
107
108
108
110
111
114
116
120
123
126
129
133
137
140
143
145
147
149
150
150
149
148
147
145
143
140
136
133
130
127
123
120
117
114
111
109
108
107
107
107
108
110
112
116
119
122
126
129
132
136
138
142
144
147
148
149
150
150
149
147
146
143
141
138
135
131
128
125
121
118
115
112
110
108
107
108
109
109
110
112
114
117
121
124
127
130
135
137
141
143
146
147
148
150
150
149
148
147
144
142
139
135
132
128
125
122
119
115
113
111
108
108
110
107
105
109
109
112
119
119
122
128
129
132
138
140
143
146
147
148
149
150
151
150
147
147
144
141
138
135
130
126
123
119
115
114
111
109
108
106
108
108
109
114
110
115
121
121
124
127
132
135
137
141
145
148
147
150
150
149
149
148
145
143
141
138
134
131
127
125
121
118
116
113
110
109
108
108
107
107
110
112
114
117
122
124
127
131
135
138
141
143
145
147
148
149
150
150
148
147
144
142
139
136
132
129
126
122
119
116
113
111
109
108
107
108
108
110
111
114
116
119
123
126
129
133
136
139
142
144
147
148
150
150
150
149
148
146
143
141
137
133
129
127
123
121
117
115
112
110
108
107
107
107
109
111
112
115
118
121
125
127
131
134
138
141
144
146
147
149
150
149
149
148
147
144
142
138
135
131
127
125
121
118
115
113
110
109
108
108
108
109
110
112
115
117
120
123
127
129
133
136
140
144
146
148
150
151
152
151
149
148
145
143
140
136
132
128
126
122
118
115
112
110
108
107
107
107
107
109
110
113
115
119
122
126
129
133
136
139
143
146
148
149
150
150
150
149
148
146
143
140
137
134
130
127
123
120
117
114
111
109
108
107
107
107
108
110
112
116
118
122
126
129
132
136
139
142
144
147
148
149
150
150
149
147
146
143
141
138
136
131
127
124
121
118
115
112
110
108
108
108
108
109
111
112
115
118
121
124
127
131
134
137
140
144
145
147
149
149
150
150
148
147
145
143
140
136
131
127
125
122
119
115
112
111
109
109
108
108
109
110
112
114
115
120
123
124
128
134
136
139
143
145
148
148
149
151
151
149
147
146
144
140
137
134
130
127
124
121
118
115
112
110
108
108
108
108
109
110
112
114
118
121
124
128
130
134
139
142
143
146
148
149
149
149
149
148
145
143
141
137
135
132
128
125
121
118
115
112
110
109
107
107
108
109
110
112
114
117
121
124
127
131
134
138
141
144
146
147
149
150
150
150
149
147
145
142
139
135
131
128
125
121
118
115
113
110
108
107
107
107
108
109
111
114
117
120
123
126
129
133
136
139
142
145
147
149
150
150
150
150
148
146
144
141
137
134
130
127
123
120
117
114
111
110
108
107
107
108
108
110
113
115
119
121
125
127
131
135
138
141
144
146
148
149
149
150
149
148
146
144
141
138
135
131
127
125
121
118
115
112
110
108
107
107
107
109
110
112
115
118
121
124
127
130
134
137
140
144
146
148
149
150
150
150
148
147
145
142
139
136
132
128
126
122
119
116
113
111
109
108
107
108
108
109
111
114
116
119
123
126
129
133
136
140
142
145
147
148
150
150
150
148
147
145
143
140
137
134
130
127
124
121
118
115
112
110
109
107
107
107
108
110
112
115
118
122
126
128
131
135
138
142
144
147
148
149
150
150
149
148
146
144
141
138
135
132
128
125
121
118
115
112
110
108
107
107
107
108
110
112
114
117
120
123
127
130
134
137
140
143
145
147
149
149
150
150
148
147
145
142
139
135
132
129
125
122
119
116
113
111
109
108
108
108
109
110
111
114
116
119
123
126
129
132
136
139
142
144
147
149
149
150
150
149
148
146
143
141
137
133
130
127
123
120
117
114
111
109
108
107
107
107
108
110
111
115
118
121
124
128
131
135
138
142
145
146
149
150
150
150
150
148
146
144
141
138
135
131
127
125
121
118
115
113
111
109
108
108
108
109
110
111
114
117
121
125
127
130
133
137
140
144
145
147
149
150
150
149
148
147
145
142
139
136
132
129
126
123
119
116
114
111
109
109
107
107
107
109
110
113
117
120
123
125
129
133
137
139
142
144
147
148
149
150
149
149
148
146
144
141
138
134
131
127
124
120
117
114
111
109
107
107
107
107
108
111
112
116
119
122
125
128
131
135
138
141
144
146
148
149
150
150
150
148
146
144
141
138
135
131
128
125
121
117
115
112
110
108
107
107
108
109
110
112
115
117
120
123
127
130
133
136
140
143
146
148
150
150
151
151
148
147
147
143
137
136
136
130
122
121
118
112
112
114
110
110
109
106
109
110
110
113
115
117
121
124
129
133
136
139
144
147
148
151
152
150
149
149
145
144
143
140
136
133
131
127
124
120
118
115
111
110
108
106
106
107
108
110
112
116
119
122
125
129
132
136
139
142
145
147
148
149
150
149
149
148
146
144
141
138
135
131
127
125
121
118
115
112
110
108
108
108
108
108
111
112
115
117
120
124
127
130
133
138
140
144
145
148
149
150
149
150
149
147
145
143
139
136
133
129
126
123
119
116
113
111
109
108
107
107
108
110
111
113
116
120
123
126
129
132
136
139
142
145
147
149
149
150
149
149
147
146
143
140
136
133
129
126
123
119
116
114
111
109
108
107
107
108
109
111
113
116
118
121
125
128
131
135
139
142
145
147
149
149
150
150
150
148
146
144
141
138
134
131
127
124
121
118
115
112
110
108
107
107
107
108
110
112
114
117
120
124
127
130
134
138
140
144
146
148
149
150
151
150
149
147
145
142
139
136
132
128
125
122
118
116
112
110
108
107
107
107
108
109
111
113
117
120
124
127
130
133
137
140
143
145
147
148
149
150
149
149
147
145
143
140
137
134
130
127
123
120
117
114
111
109
108
107
106
107
108
110
112
116
119
123
126
129
132
135
138
141
144
145
148
148
149
149
149
148
146
144
141
138
135
132
127
125
121
118
115
112
110
108
108
107
107
108
110
111
114
117
121
124
127
130
134
137
140
144
146
148
149
150
151
150
149
147
145
142
139
135
132
130
127
121
120
118
112
110
108
108
108
106
107
110
111
112
116
120
124
127
129
132
136
140
143
144
146
148
149
150
150
149
147
145
142
140
137
133
131
127
124
120
116
114
112
109
108
108
107
108
108
110
112
115
118
122
125
127
132
136
139
142
144
146
149
149
150
150
149
148
146
144
141
138
135
131
127
125
121
118
114
112
110
108
107
107
108
108
110
111
114
116
120
123
127
130
133
137
140
144
146
148
149
150
150
150
149
147
145
143
140
136
132
128
126
122
119
116
113
111
109
108
108
108
108
109
111
114
116
119
123
126
129
132
136
139
142
145
147
149
150
150
150
149
147
146
144
140
137
134
130
127
123
120
116
114
111
109
108
107
107
107
108
110
112
115
118
121
125
128
131
135
138
142
144
147
148
150
151
150
150
148
147
144
142
138
135
131
127
124
121
118
114
112
110
108
107
107
108
109
110
111
114
117
120
124
127
130
134
138
141
144
146
148
149
150
150
150
148
146
144
141
139
135
132
128
126
122
119
116
114
111
109
108
108
108
108
109
111
113
116
120
122
126
129
132
136
139
142
145
147
148
149
149
149
148
147
145
143
141
137
134
130
127
124
121
117
115
112
110
109
107
108
107
109
110
112
115
118
122
125
128
131
135
138
141
143
146
147
149
150
150
149
148
146
144
141
138
134
131
127
124
121
118
114
112
110
109
108
107
108
109
111
112
114
118
121
124
127
130
133
137
140
143
146
148
149
150
150
150
149
148
145
142
139
136
133
129
126
122
119
116
113
111
109
108
107
107
108
110
111
113
116
119
122
126
128
132
136
139
142
144
147
148
149
150
150
149
147
146
143
140
137
134
130
127
124
120
117
114
111
109
108
107
107
107
109
110
112
115
118
122
125
128
131
135
138
141
144
146
148
150
150
150
150
148
147
143
141
137
135
131
127
124
121
118
115
112
110
108
107
107
107
108
109
111
114
117
120
123
127
130
134
137
140
143
146
147
149
149
150
150
148
147
144
143
139
136
133
129
126
123
119
116
113
110
108
107
106
106
107
108
110
113
116
119
122
126
129
133
136
140
143
145
147
149
149
150
150
149
148
146
144
141
138
134
131
127
124
120
117
114
111
109
108
107
106
106
109
108
112
117
116
121
127
127
129
134
140
142
144
145
149
152
150
152
150
148
145
144
141
138
135
131
127
125
121
118
115
113
111
109
108
107
107
108
109
110
113
118
120
123
127
130
135
138
141
144
147
147
149
152
151
146
148
145
143
146
140
135
135
130
125
124
119
115
114
110
107
105
105
106
107
107
111
114
116
120
124
127
128
133
136
139
143
145
147
148
149
150
151
150
149
146
144
141
138
134
130
127
124
120
117
114
111
110
108
107
107
108
109
111
112
115
119
121
125
127
132
134
138
141
144
146
147
149
149
150
149
147
146
144
141
138
135
131
127
124
121
118
115
113
111
109
109
108
108
109
110
112
114
117
120
123
127
130
133
137
140
143
146
147
149
150
151
150
149
148
145
143
140
137
133
130
126
123
119
116
113
111
109
108
107
107
108
109
111
113
116
119
122
126
128
132
136
139
142
145
147
149
149
150
150
149
148
146
144
141
138
134
131
127
124
121
117
114
112
109
108
107
107
108
109
111
113
116
118
122
125
127
131
135
138
141
144
146
148
150
150
150
150
149
147
144
141
138
134
131
128
125
122
118
116
113
111
109
108
107
108
108
110
111
114
116
119
123
126
130
133
137
140
143
146
148
149
150
150
150
149
147
145
143
140
136
133
129
126
123
119
116
113
110
109
108
107
107
108
109
111
113
116
119
123
126
130
133
136
140
142
145
147
149
150
150
150
149
148
145
143
140
138
133
130
127
123
120
117
114
111
110
108
108
107
108
109
111
113
115
118
122
125
127
131
134
138
141
144
146
148
150
151
151
150
148
146
144
141
138
134
131
127
124
121
118
115
113
111
110
109
108
108
109
110
112
114
117
119
123
127
131
134
136
141
145
145
148
149
150
150
148
148
147
145
141
139
136
132
129
125
122
119
117
114
112
110
108
108
107
108
109
111
114
116
119
122
126
129
133
136
140
141
145
147
147
148
150
149
148
147
145
144
140
138
134
131
127
125
122
118
114
112
110
108
108
107
108
108
110
112
114
117
121
125
127
131
134
138
141
144
146
148
149
150
150
150
148
146
145
142
139
135
131
128
125
121
118
115
112
110
108
108
107
108
108
110
111
113
117
121
125
127
129
133
137
140
143
145
147
149
150
151
150
149
147
145
142
139
135
132
129
126
123
119
116
113
111
109
108
107
107
108
109
110
113
117
120
122
125
128
133
136
139
142
144
146
148
149
150
149
149
148
146
143
140
137
134
130
127
124
120
117
114
111
109
108
107
107
107
108
110
111
115
117
121
124
127
131
135
139
142
144
147
148
150
151
150
150
149
147
144
141
138
134
131
127
125
121
118
115
113
110
108
108
107
108
108
110
111
114
117
121
123
127
130
133
136
139
143
145
147
149
149
149
149
148
146
144
142
140
137
134
130
127
123
120
117
114
111
110
108
107
108
108
109
111
114
116
120
123
126
129
133
136
138
141
143
145
147
148
148
149
148
147
145
143
141
138
135
132
127
124
121
117
114
111
109
108
107
108
107
109
110
113
115
118
121
124
128
130
134
137
141
143
145
147
148
150
150
150
148
147
144
142
139
135
132
128
126
122
119
115
113
110
109
108
107
108
109
111
111
114
116
120
123
126
129
133
136
139
142
145
147
148
149
149
149
148
147
144
142
140
136
133
129
126
123
120
117
114
111
109
108
107
107
107
109
110
112
115
118
121
125
128
132
135
139
143
145
147
149
150
150
149
149
148
146
143
141
138
135
131
127
124
121
117
114
112
110
108
107
107
107
108
110
111
114
117
121
125
127
131
135
138
142
144
147
148
149
150
150
149
148
147
144
141
138
135
132
128
125
122
118
115
112
110
108
107
107
107
108
110
111
114
116
120
123
127
130
133
137
140
143
145
147
148
149
149
150
149
147
146
144
140
135
133
132
125
122
120
116
113
109
109
109
107
106
108
109
110
114
116
119
122
126
128
132
136
139
142
145
147
148
150
150
150
150
148
145
143
141
137
133
129
127
123
120
116
114
111
110
108
108
107
107
109
110
112
114
118
121
125
128
132
135
138
141
144
147
149
150
150
151
150
149
147
144
141
138
134
131
127
124
121
118
115
113
111
109
108
107
107
108
109
111
113
116
119
125
127
127
132
135
137
145
147
146
151
151
149
150
149
146
145
142
138
135
132
130
127
123
119
118
114
111
111
108
106
106
107
108
111
112
116
120
123
127
129
133
137
140
143
145
146
148
149
149
149
148
147
146
144
140
137
134
130
127
124
120
117
114
111
110
108
108
107
108
109
110
112
115
119
121
124
127
131
134
138
141
143
146
148
149
150
150
149
148
147
144
142
139
135
132
128
125
122
119
115
113
111
109
108
107
108
109
110
112
114
117
120
123
126
129
133
136
140
143
146
148
149
150
151
150
149
147
145
143
139
136
132
129
126
123
119
116
113
111
109
108
107
107
108
109
111
113
116
119
122
126
128
132
136
140
143
145
148
149
150
150
150
149
148
145
143
139
137
133
130
127
124
121
118
115
112
110
109
108
108
107
108
110
111
114
118
121
125
127
132
135
139
142
144
147
148
149
150
150
150
149
147
144
141
138
135
132
128
125
122
118
115
112
110
108
107
107
107
107
109
111
113
116
120
123
127
131
134
138
140
143
146
147
149
150
149
149
149
147
145
143
140
137
133
130
126
123
119
116
113
111
108
108
107
107
108
109
111
114
116
120
123
127
129
133
136
140
142
145
146
149
149
150
150
149
148
145
143
140
137
134
130
127
123
120
117
114
111
110
108
108
108
108
109
111
113
116
117
121
124
127
131
134
138
141
144
147
149
150
150
150
150
149
147
144
141
139
135
130
127
125
120
117
116
112
110
108
108
107
107
107
111
113
114
117
120
124
127
131
133
137
140
143
145
147
149
150
150
149
149
148
146
143
140
136
132
129
126
122
119
115
112
111
108
106
107
107
108
109
111
114
117
119
123
127
130
132
136
139
142
144
146
148
150
150
150
150
148
146
143
141
137
134
130
127
123
120
116
113
111
109
107
107
107
108
109
111
113
116
118
121
125
127
131
134
138
141
144
146
149
150
150
151
150
149
147
144
141
138
134
131
127
124
121
117
114
112
110
108
108
108
108
109
110
112
115
117
121
124
127
130
134
138
140
143
145
148
149
150
150
149
148
147
145
143
140
136
133
129
126
123
119
116
113
111
109
108
107
107
108
109
111
113
116
119
122
125
128
132
135
138
142
144
146
148
149
150
150
149
147
146
143
140
137
134
131
127
124
120
118
114
112
110
109
108
108
108
109
110
112
114
118
121
125
127
130
134
139
142
144
146
148
149
150
150
149
147
146
144
141
138
135
131
127
125
122
119
115
112
111
109
108
107
107
108
109
111
114
117
121
123
127
130
134
137
140
143
144
147
148
149
149
149
149
147
145
143
141
137
134
130
127
123
120
117
114
111
110
108
107
107
107
109
111
113
116
119
122
126
128
132
135
138
141
144
146
148
149
150
150
150
148
147
144
142
138
134
130
127
124
120
117
114
111
109
108
107
107
107
108
110
112
115
118
121
124
127
131
135
138
141
144
146
148
149
151
151
150
148
147
144
142
139
135
131
127
124
121
118
115
113
110
109
108
107
107
108
109
111
114
116
120
123
127
130
134
137
140
143
146
148
149
150
150
150
149
147
145
142
139
135
133
129
126
123
119
116
114
111
109
108
107
107
107
109
110
112
115
118
122
126
129
132
136
139
143
145
147
149
150
150
150
149
148
146
144
141
137
134
130
127
124
121
117
115
111
110
108
107
107
107
108
110
111
115
121
120
124
129
132
134
137
142
144
146
146
150
151
149
148
148
146
143
141
137
134
131
128
125
121
118
115
113
111
109
108
108
108
109
110
112
114
117
121
123
127
130
134
136
140
143
146
147
148
149
150
149
148
147
145
143
140
137
133
129
126
122
119
116
113
111
109
107
107
107
108
109
111
113
116
119
122
126
128
132
135
139
142
145
147
149
150
150
150
149
148
146
143
140
137
133
130
127
124
120
117
114
112
110
109
108
108
108
109
110
112
114
117
120
124
127
131
135
139
141
144
146
148
149
149
149
148
147
146
144
141
138
135
132
129
126
122
118
115
112
112
111
105
106
106
104
111
113
112
118
122
122
127
131
133
137
140
141
144
145
148
150
149
148
149
148
146
145
141
137
133
130
126
122
120
116
113
110
109
108
108
108
108
109
111
113
115
118
121
125
127
132
135
139
141
144
147
148
149
150
150
149
148
146
144
141
137
134
131
127
124
121
117
114
111
110
108
108
107
107
109
110
112
114
117
120
124
127
130
134
137
140
143
146
148
149
150
150
149
148
146
144
142
139
136
132
129
125
122
119
115
113
111
109
108
107
108
108
109
111
113
117
121
124
127
129
133
137
140
142
144
146
148
150
150
150
149
147
145
143
139
137
133
130
127
123
120
117
113
110
108
107
107
107
107
108
110
113
117
120
123
125
129
133
136
139
141
144
146
147
149
150
150
149
148
146
144
141
138
134
131
127
125
121
118
116
113
111
109
109
108
108
109
110
112
115
117
120
124
127
130
134
137
140
143
145
147
149
150
150
149
148
147
145
142
139
136
132
129
126
123
119
116
113
111
109
108
107
107
108
109
111
113
116
119
123
127
129
133
136
140
143
146
147
149
150
150
150
149
147
146
143
140
137
134
130
127
123
119
116
113
111
109
108
107
107
107
109
111
113
115
118
122
125
128
132
135
139
142
144
147
149
150
150
150
149
148
146
144
141
137
133
130
127
124
120
118
115
113
111
109
108
108
108
109
110
111
114
117
120
124
126
130
134
138
143
143
146
150
150
150
150
150
148
145
144
142
139
134
131
128
125
123
119
116
113
111
109
108
107
107
108
109
111
114
116
119
123
127
130
133
137
140
143
146
146
149
150
149
149
149
147
146
143
140
138
133
130
127
123
120
117
114
111
109
108
107
107
108
108
111
113
115
119
122
126
128
132
135
139
142
145
147
148
150
150
150
149
148
146
144
140
138
135
131
127
124
121
117
114
111
110
108
107
107
107
108
110
112
114
117
120
124
127
131
134
137
141
144
147
148
150
150
151
150
149
147
145
142
139
135
132
128
125
122
118
115
112
110
108
108
107
107
108
110
112
114
117
120
124
127
130
134
137
140
143
145
147
149
150
150
150
149
147
144
143
139
136
132
129
126
122
119
116
114
111
109
108
107
107
108
109
111
113
115
119
122
126
129
132
136
139
142
145
147
149
150
150
151
149
148
146
144
140
138
134
131
127
124
121
117
114
111
110
108
107
107
107
108
109
112
114
118
121
125
127
132
135
138
141
144
146
148
149
149
150
149
148
146
144
142
138
135
132
128
125
122
118
115
112
110
108
107
107
107
108
110
111
114
117
120
124
127
130
133
137
140
143
145
147
148
149
150
149
149
147
145
143
140
137
133
130
127
123
120
117
114
111
110
108
108
107
108
109
111
113
115
119
123
126
127
131
135
139
142
144
146
148
150
150
151
150
148
146
144
140
138
134
130
127
124
121
117
114
111
110
108
107
107
107
108
110
111
115
118
121
123
127
131
134
138
141
144
146
148
149
150
150
149
148
147
144
142
139
135
132
129
126
122
119
116
113
111
109
107
107
108
108
110
111
114
117
119
123
126
130
133
136
140
143
145
147
148
149
150
149
148
146
144
143
140
138
131
130
129
123
120
116
114
111
108
108
108
107
107
108
111
112
116
118
122
125
128
132
136
139
142
145
147
149
150
151
150
150
149
147
143
140
137
134
130
127
124
120
117
114
112
110
108
107
107
107
108
110
112
114
118
121
124
127
131
134
137
140
143
145
148
149
150
150
150
149
147
146
143
140
136
132
129
126
122
118
115
113
111
109
108
107
108
109
110
111
114
117
119
123
126
129
132
135
138
141
144
145
148
149
149
149
149
147
146
143
140
137
133
129
126
123
119
116
114
112
110
109
108
108
108
110
111
113
116
118
122
125
128
132
135
139
141
144
146
148
149
150
149
149
148
146
145
142
138
134
131
127
124
120
117
115
112
111
110
108
108
108
108
110
111
114
117
121
124
127
130
134
137
141
144
146
148
149
149
150
149
148
148
147
139
138
135
130
130
127
121
121
118
112
111
110
107
107
107
106
107
109
113
117
119
123
127
130
134
138
141
142
144
147
148
149
150
150
149
147
146
144
141
138
134
130
127
123
119
116
113
111
108
108
107
108
108
109
111
112
115
119
122
125
128
132
136
139
142
144
146
148
150
150
150
149
148
146
143
140
137
133
130
127
123
120
117
114
112
110
109
108
108
107
109
110
112
115
118
121
124
127
131
134
138
142
144
146
149
149
151
150
150
148
146
144
142
139
135
132
128
126
122
119
115
113
111
109
107
106
107
107
109
111
113
116
119
123
127
130
133
136
139
143
145
148
149
150
150
150
149
147
145
142
139
136
133
129
127
123
120
116
114
111
109
109
107
107
107
108
110
112
115
118
122
126
129
132
136
139
142
144
147
149
150
150
150
149
147
146
144
141
138
134
131
127
125
121
118
115
112
110
108
107
107
107
108
110
111
114
118
121
125
127
130
133
138
141
143
145
147
149
150
150
149
148
147
145
143
139
136
132
128
126
122
118
114
112
110
108
106
106
107
108
110
111
114
118
121
123
126
129
133
137
140
143
145
148
149
150
150
150
149
148
146
144
140
137
133
128
126
122
120
116
113
111
110
108
107
108
108
109
111
113
116
118
122
125
128
132
135
139
142
144
147
148
150
150
150
149
148
146
143
140
137
134
130
127
124
122
118
113
113
111
108
107
107
108
108
109
111
116
117
121
124
127
130
135
137
141
144
146
148
150
150
150
150
149
147
145
142
139
136
132
128
126
122
118
115
112
109
109
107
106
107
107
109
111
113
117
121
123
127
129
133
137
140
143
145
148
149
150
150
150
149
147
145
143
140
137
133
129
127
123
119
116
114
111
109
108
108
107
108
109
111
113
115
119
122
125
128
132
135
139
141
144
146
148
149
150
151
150
148
146
144
140
137
134
131
127
124
121
117
114
111
110
108
107
107
107
109
110
112
115
118
121
125
127
131
134
138
141
144
146
148
149
150
150
150
148
146
145
142
139
136
132
128
125
122
118
116
113
111
109
108
107
107
108
109
111
114
117
119
123
126
129
133
136
140
143
145
147
148
150
150
149
148
147
145
143
140
137
133
130
127
123
120
117
114
111
110
109
108
107
108
108
110
112
115
117
121
125
127
132
135
139
142
144
147
148
150
150
150
150
148
146
144
141
138
134
131
127
124
121
117
115
111
110
108
107
107
107
108
109
111
114
117
121
124
127
131
134
138
140
143
145
147
148
149
149
149
148
146
145
142
139
136
132
129
126
123
119
116
113
111
108
108
107
108
109
110
112
114
117
120
123
126
129
132
136
139
142
145
146
148
149
149
149
148
147
145
143
140
137
133
130
127
124
121
117
115
112
110
109
108
107
108
109
110
112
115
118
121
125
127
131
134
138
141
144
146
148
149
150
149
148
147
145
144
140
138
134
131
127
124
121
118
115
112
111
109
108
107
108
108
110
111
114
118
121
126
126
131
136
137
140
144
146
148
148
150
151
150
147
146
145
142
139
135
131
128
125
123
119
116
113
111
109
108
107
107
108
110
111
113
115
118
124
126
127
131
136
140
142
145
147
149
149
150
149
149
147
146
143
140
137
134
130
127
124
120
117
114
111
110
108
107
107
107
108
109
112
115
119
121
125
128
132
136
139
142
144
147
149
150
151
150
149
148
147
144
140
138
134
131
127
125
121
117
114
112
109
108
107
107
107
108
110
112
114
118
121
124
127
131
134
138
140
144
145
148
149
150
150
150
149
146
145
142
139
135
132
128
125
122
119
115
113
111
109
108
108
108
108
110
112
114
117
120
123
127
129
133
137
140
143
145
147
149
150
151
150
149
147
145
143
140
136
133
129
127
123
119
117
114
112
109
108
107
108
108
108
110
112
115
118
122
125
128
132
136
140
142
144
147
148
149
150
149
149
147
146
143
141
138
134
131
127
125
121
118
115
112
110
108
107
108
108
109
111
112
115
118
121
125
127
131
137
138
137
143
143
145
151
149
149
152
148
146
146
143
139
137
132
127
125
122
119
116
112
111
110
108
108
109
108
109
111
113
115
120
123
126
129
132
137
140
143
146
148
149
150
151
150
149
148
146
143
140
137
134
130
127
123
119
116
113
111
109
108
107
107
107
109
110
112
115
118
122
125
128
131
136
138
142
145
148
149
150
150
151
149
148
146
144
141
138
134
130
127
124
121
118
115
112
110
109
108
108
108
109
110
112
115
117
121
124
127
131
134
137
141
143
146
148
149
150
150
150
149
147
145
142
139
135
132
128
125
122
119
116
113
111
109
108
107
107
108
109
111
114
117
120
123
127
129
133
137
140
143
146
148
149
150
150
151
149
148
145
143
139
136
132
129
126
122
119
116
113
111
110
108
108
107
108
109
111
113
116
119
122
126
128
132
136
140
143
145
147
148
150
150
150
149
148
146
143
140
138
134
130
127
124
121
118
116
113
111
109
108
107
107
108
109
112
115
117
120
124
127
130
134
137
140
143
145
147
149
149
150
149
148
146
144
141
139
135
132
128
126
122
119
116
113
111
109
108
108
107
109
110
111
114
117
120
123
126
129
132
136
140
142
145
147
149
150
151
150
149
147
145
142
139
136
132
129
126
123
120
116
114
111
110
109
108
107
108
110
109
111
115
118
121
125
127
130
134
138
142
145
146
148
150
150
150
149
147
145
144
141
138
134
131
128
125
121
118
115
112
110
108
108
107
107
107
109
111
114
117
122
124
126
130
134
138
140
143
146
148
149
149
150
149
148
147
145
142
139
136
132
129
125
122
118
116
112
110
108
107
107
107
107
109
111
114
117
120
124
127
130
133
137
140
143
145
147
148
150
150
149
149
147
146
143
140
137
133
129
126
122
119
115
113
110
109
107
106
107
107
109
110
112
116
118
123
126
129
132
135
138
142
144
147
149
150
151
151
150
149
147
144
141
138
135
131
127
124
120
117
113
111
108
107
106
107
107
108
111
112
115
117
121
125
127
131
134
137
141
144
146
148
149
150
150
150
148
147
144
142
138
135
131
127
125
121
118
115
112
110
109
108
107
108
108
110
111
114
117
120
123
127
130
134
137
140
144
145
147
148
149
149
149
148
146
144
142
139
135
132
129
126
123
120
117
114
112
110
108
108
107
108
109
110
113
115
118
122
126
128
132
136
139
142
144
146
148
149
150
149
149
147
146
144
141
138
135
131
127
124
121
118
114
112
110
108
107
107
107
108
110
112
115
118
121
125
127
131
134
137
140
143
145
147
148
150
149
150
148
147
145
142
139
135
132
129
126
122
119
116
113
111
109
108
107
107
108
110
111
114
116
120
123
126
129
132
136
139
142
144
148
149
150
153
148
149
149
145
143
140
137
134
129
127
124
121
116
114
112
110
109
108
108
108
109
110
112
115
118
121
124
128
132
135
138
142
145
147
148
149
150
151
149
147
147
144
141
138
135
132
128
125
121
118
114
112
110
108
107
108
107
108
110
112
115
118
121
124
127
131
135
137
141
144
146
148
149
150
150
150
149
147
145
142
139
136
132
129
126
122
119
116
114
111
109
107
107
107
108
109
111
113
116
119
123
126
129
133
136
139
142
145
148
149
150
150
150
149
148
146
143
140
137
134
130
127
123
120
116
114
111
109
108
107
107
107
109
110
113
115
118
122
126
129
132
136
139
142
145
147
149
150
151
151
150
149
147
144
141
138
135
131
127
124
120
117
114
111
109
108
106
107
107
109
110
112
115
119
122
125
127
130
134
137
141
143
146
147
149
150
150
149
148
146
144
142
138
135
131
128
125
122
119
115
113
111
110
108
108
108
109
109
111
114
117
120
122
126
129
133
137
140
143
145
147
149
150
150
150
149
148
145
142
139
137
133
130
127
123
120
117
114
111
109
108
108
108
108
109
110
112
115
118
121
125
128
132
136
139
142
145
147
148
149
149
149
148
147
145
143
140
138
134
131
127
124
121
118
115
112
110
108
110
109
105
107
109
110
117
119
120
127
129
130
135
138
140
144
145
145
147
148
150
150
148
147
146
143
140
138
133
128
125
122
118
115
113
111
108
108
108
108
108
109
111
113
116
119
122
125
128
131
135
139
142
145
147
149
150
150
150
149
147
145
143
140
136
132
129
126
123
120
117
114
112
110
109
108
108
108
109
111
112
115
118
122
125
128
132
135
139
142
144
146
148
149
150
150
149
148
146
144
141
138
134
131
127
125
121
118
115
112
110
109
107
107
108
108
110
111
114
117
120
124
127
130
134
137
140
144
145
147
149
149
150
150
149
146
145
142
140
136
132
129
126
123
119
116
113
111
108
108
107
107
107
108
111
113
116
119
123
126
129
133
137
140
143
145
147
149
149
150
149
148
147
145
143
139
137
133
129
126
124
120
117
114
111
110
108
107
108
108
109
111
113
116
118
122
126
128
132
136
139
141
144
146
148
148
149
149
148
147
145
143
140
137
134
131
127
124
121
118
115
112
111
109
108
107
108
109
111
112
115
118
121
124
127
131
134
137
140
143
145
147
148
149
150
149
148
147
145
142
139
136
132
128
125
122
119
116
113
111
109
108
108
108
108
110
111
113
116
119
122
125
129
132
136
139
142
145
148
148
149
151
150
148
147
145
143
140
136
133
131
127
124
121
118
115
113
110
109
109
108
108
109
111
112
115
118
121
124
127
130
134
138
141
144
146
148
150
149
149
149
148
145
144
141
138
135
131
128
126
121
118
115
112
110
108
107
106
107
108
110
111
114
117
121
124
127
131
134
138
141
144
146
148
149
150
150
150
149
148
145
143
139
136
132
128
126
122
119
115
113
110
108
108
106
107
108
109
110
113
116
119
122
126
129
133
137
139
143
145
147
148
150
150
150
149
147
145
143
140
137
133
130
127
123
120
117
114
111
110
109
108
108
108
109
111
113
116
119
122
125
128
131
135
138
141
144
146
148
149
150
150
149
148
146
144
141
138
135
131
127
124
121
118
115
112
110
109
108
107
108
109
110
112
114
117
121
124
127
130
134
137
140
143
146
148
149
150
150
150
148
147
145
142
139
135
132
128
126
122
119
116
113
111
109
108
107
107
108
109
111
113
116
119
123
126
129
133
136
139
142
145
148
149
150
151
150
149
147
145
143
141
137
134
131
127
124
121
117
114
111
109
107
107
107
107
108
110
112
115
118
121
125
127
131
135
138
141
144
146
147
149
150
150
150
149
147
144
142
139
136
132
127
124
121
117
116
110
109
110
106
107
107
109
110
111
114
118
121
124
127
130
134
138
141
143
146
148
149
150
150
150
148
148
145
142
139
136
132
128
126
122
118
115
114
111
108
108
108
107
108
109
111
113
115
119
122
125
128
132
136
140
143
146
148
150
151
151
150
149
148
145
143
140
137
134
130
127
124
120
117
115
112
110
108
107
107
107
108
110
112
114
118
121
125
127
131
135
139
142
144
147
148
150
150
150
149
148
146
144
141
138
135
131
127
124
121
117
115
111
110
108
107
107
107
108
109
112
114
118
121
124
127
131
135
138
141
144
146
148
149
150
150
150
148
147
144
142
139
136
132
128
125
122
118
115
113
111
109
108
107
108
108
110
111
113
116
120
123
126
129
133
136
140
143
145
147
149
150
150
150
149
147
145
143
140
137
133
129
126
123
120
116
114
111
109
108
107
107
108
109
111
113
116
118
122
125
128
131
135
139
142
144
146
148
149
150
149
149
148
146
144
141
138
134
131
127
125
121
118
115
112
110
109
108
108
108
109
111
112
115
117
121
124
127
130
134
137
140
143
145
148
148
150
149
149
148
146
144
141
138
135
132
128
126
122
120
116
114
112
110
108
108
108
108
109
111
113
115
119
122
126
129
132
136
139
143
145
147
149
150
150
150
149
148
146
144
140
137
134
131
128
125
121
117
114
111
109
107
106
107
107
109
110
112
115
118
121
124
127
131
135
137
141
143
145
147
148
149
150
149
148
146
144
142
138
135
133
131
124
120
118
112
113
112
108
108
110
107
109
111
111
115
118
120
122
127
130
134
137
140
144
147
147
150
151
149
148
147
146
144
142
139
135
132
129
126
123
120
117
114
112
110
108
107
107
108
109
110
114
116
120
123
126
129
132
136
139
142
145
147
148
149
149
149
148
147
145
143
140
137
133
130
127
124
120
117
115
111
110
108
107
107
107
109
110
113
115
118
122
125
128
132
135
139
142
144
146
147
150
150
151
149
147
146
144
142
138
135
131
127
125
121
118
115
112
111
109
108
108
108
108
110
112
114
117
120
123
127
130
134
137
141
143
146
147
149
150
150
149
149
147
145
142
139
136
132
128
126
122
119
115
114
111
109
108
107
107
108
109
111
114
116
119
121
126
129
133
136
140
143
146
147
149
150
150
150
149
148
146
143
140
137
133
130
127
123
120
117
114
111
110
108
107
107
108
109
111
114
115
118
121
126
128
132
135
138
141
144
146
147
149
149
150
149
148
146
144
141
139
135
131
128
125
121
118
115
112
111
109
108
108
107
108
110
111
114
117
120
124
127
130
133
137
141
143
146
148
150
150
151
150
150
148
145
142
139
136
133
130
126
123
118
116
115
112
109
108
107
107
108
107
110
113
115
118
122
126
128
133
136
139
143
145
147
149
150
150
150
149
148
146
143
140
138
134
130
127
123
121
118
114
111
110
107
106
107
107
108
110
112
116
119
121
125
128
132
135
139
141
144
146
148
149
149
150
149
149
147
144
142
139
135
132
129
125
122
118
115
111
110
107
106
106
106
108
109
111
114
117
120
124
127
130
134
137
141
144
146
148
150
150
150
150
148
147
145
142
139
136
132
128
126
122
118
115
113
111
109
108
107
107
108
109
111
113
116
119
123
127
129
133
136
139
143
145
147
149
150
150
149
149
148
145
143
140
137
133
129
126
123
119
116
114
111
110
108
108
108
108
109
111
113
115
118
121
125
128
131
135
138
141
144
146
148
149
150
150
149
148
147
144
141
138
135
131
127
125
121
118
115
112
110
108
107
107
108
108
109
111
114
117
120
124
127
131
134
138
141
144
147
148
149
150
150
149
148
146
144
141
138
135
132
128
125
122
119
116
114
111
109
108
107
107
108
109
111
113
116
120
124
127
128
133
138
139
142
145
147
148
148
150
149
149
147
145
143
140
137
133
130
127
124
120
117
114
112
110
109
108
108
108
109
111
113
117
118
121
125
128
131
134
138
141
144
146
148
149
150
149
149
148
146
144
141
138
135
132
127
125
121
118
115
112
110
108
108
107
108
108
110
111
114
117
120
124
127
129
133
137
140
144
145
148
149
150
150
150
149
147
145
142
139
135
132
129
126
122
120
117
114
112
110
109
108
108
108
109
111
113
116
118
122
126
129
132
136
139
142
145
147
149
149
150
149
149
147
145
143
140
137
133
130
127
124
121
117
114
112
110
108
107
107
107
108
110
111
115
118
122
125
128
132
135
139
141
144
146
148
149
150
150
150
149
147
145
142
139
135
132
128
125
122
118
115
112
110
108
107
106
108
108
110
111
114
117
120
124
127
130
133
137
140
143
146
148
149
150
150
150
148
147
145
141
139
135
132
128
125
122
119
116
112
111
109
108
107
108
108
110
112
114
117
120
123
126
129
133
136
139
142
145
147
149
150
150
150
150
148
146
144
141
138
134
130
125
122
119
116
113
110
108
107
107
107
108
109
111
113
116
119
123
126
129
132
135
139
141
144
146
148
150
150
151
150
148
146
144
141
138
133
129
127
123
120
117
114
111
110
108
108
107
108
109
111
113
115
118
120
124
127
131
134
138
141
144
146
148
149
150
150
149
148
146
144
141
139
135
132
128
126
122
118
116
113
111
110
109
108
108
108
109
111
113
116
119
123
126
130
133
137
140
142
144
147
148
149
150
149
148
146
145
142
140
136
133
130
127
124
120
117
114
111
109
108
107
107
107
108
111
113
116
119
123
126
129
132
135
139
141
144
146
148
151
148
146
148
145
145
147
141
139
138
131
127
127
121
118
115
111
109
107
108
109
108
108
111
113
115
119
122
123
126
129
132
135
139
143
145
146
149
150
150
150
149
147
145
142
139
135
132
129
126
122
120
116
114
112
110
108
108
107
108
109
111
113
115
119
122
125
128
132
135
139
142
145
147
149
150
150
150
149
148
146
143
141
137
134
130
127
124
121
117
114
111
110
108
107
107
108
109
110
112
115
118
122
125
128
132
135
138
141
144
146
148
148
149
149
149
148
146
144
141
138
135
132
127
125
122
119
116
113
110
108
108
107
107
107
110
111
114
117
120
123
127
130
134
138
140
144
145
148
149
150
150
150
149
147
145
143
140
136
133
129
127
123
120
116
113
110
108
107
107
107
107
109
111
113
116
119
123
126
129
132
136
139
142
145
147
148
149
150
150
149
148
146
144
140
137
134
130
127
123
120
117
114
111
109
108
107
108
107
109
111
113
116
118
122
125
128
132
135
138
141
144
146
148
149
150
151
151
149
147
144
141
138
134
131
127
125
121
118
114
112
110
108
107
107
108
108
110
111
113
116
120
122
126
131
134
137
141
144
147
148
149
152
151
150
149
147
145
142
139
135
132
128
125
121
118
116
113
111
109
108
107
107
108
109
111
113
116
119
123
126
129
133
138
140
143
146
148
149
150
150
150
149
147
146
143
140
137
134
130
127
123
120
117
114
111
110
108
107
107
107
108
110
112
115
118
122
125
128
131
135
138
141
144
146
147
149
149
149
149
148
146
143
141
139
136
131
127
124
121
119
115
112
110
109
108
107
108
109
110
112
115
117
121
124
127
130
134
138
141
144
146
148
149
150
150
150
148
146
144
143
139
135
131
127
126
122
119
116
113
111
109
108
107
107
108
110
111
113
116
119
123
126
129
132
135
139
142
144
147
148
149
150
150
149
148
146
143
140
137
134
130
127
124
121
117
115
112
110
109
108
108
108
109
111
113
115
118
121
125
127
131
135
138
141
144
146
147
149
149
149
149
148
148
142
141
140
135
131
127
125
122
118
115
114
111
108
108
108
107
108
109
111
114
116
120
123
127
130
133
137
141
144
146
148
149
150
151
149
148
147
145
142
139
136
133
129
126
123
120
116
113
111
109
108
107
108
108
109
111
114
116
120
123
126
129
132
135
139
142
144
146
148
149
150
150
149
148
146
144
141
138
135
131
127
124
120
116
114
111
109
108
107
107
107
108
110
112
115
118
121
125
127
131
134
137
141
143
146
147
149
150
150
150
149
147
145
142
139
135
131
128
125
122
118
116
113
111
110
108
108
108
109
110
112
114
117
120
123
127
130
134
137
141
144
147
148
149
150
149
149
147
146
144
141
139
135
132
129
126
123
120
117
114
112
111
108
108
107
108
109
111
113
116
119
123
126
129
132
136
139
142
145
147
148
149
149
149
148
147
145
144
141
138
134
131
128
125
122
118
115
112
110
108
107
107
107
109
110
112
115
118
121
125
128
131
135
138
141
144
146
147
149
149
150
149
148
146
144
141
138
135
131
127
125
122
119
116
113
111
109
109
108
108
109
110
112
114
116
120
123
127
130
133
137
140
143
146
147
149
150
150
150
148
147
145
143
139
136
132
129
126
123
120
116
114
111
109
108
107
107
108
109
111
113
115
118
121
125
128
132
135
138
142
144
147
148
150
150
150
150
148
147
144
141
138
134
130
127
124
121
117
114
111
109
108
108
107
108
108
110
112
115
118
121
125
128
131
135
138
142
144
146
149
149
150
150
149
148
146
144
141
138
134
131
127
125
121
119
116
113
111
109
108
107
107
108
109
111
113
116
120
124
127
129
133
137
140
144
145
147
149
150
150
150
148
147
145
142
140
136
133
129
126
122
119
116
113
111
109
108
107
106
107
108
109
113
116
120
123
125
129
133
137
140
143
144
147
149
150
151
151
150
148
146
144
141
137
134
130
127
124
120
117
114
111
109
107
107
107
107
108
110
112
115
118
121
125
128
131
135
138
141
144
146
147
149
153
150
146
148
144
143
144
138
134
134
127
124
123
119
115
113
109
107
107
107
108
109
109
112
116
117
121
125
127
129
133
136
140
143
146
148
149
151
151
150
149
148
145
142
140
136
132
128
125
122
119
115
113
111
109
107
107
107
107
109
110
113
115
119
122
126
129
133
136
140
143
145
147
149
150
150
150
149
148
146
143
141
137
134
130
127
123
120
117
114
111
109
108
107
107
108
109
110
113
115
118
122
126
128
132
136
139
143
144
147
148
149
149
149
149
148
146
143
141
138
135
131
128
125
122
118
115
112
110
108
107
107
107
109
110
112
115
117
121
124
127
130
133
137
140
143
145
147
148
149
149
149
148
146
144
142
139
136
133
129
126
122
119
116
113
111
108
108
108
108
109
111
112
115
117
120
123
126
128
132
136
138
142
144
146
149
149
151
150
150
148
146
144
141
138
134
130
127
124
121
117
114
111
109
108
107
107
108
109
110
112
115
117
120
124
127
130
134
137
140
144
146
148
149
150
151
151
147
147
145
141
138
135
132
128
125
122
120
116
114
111
110
109
108
108
108
110
111
113
116
120
123
127
129
133
136
140
143
145
148
150
151
151
150
150
147
144
143
140
135
133
129
126
123
120
116
114
111
109
108
106
106
107
108
110
112
116
119
122
126
129
132
136
139
143
145
147
149
150
150
150
150
148
147
144
141
138
134
131
127
124
120
116
114
111
109
107
107
107
107
109
110
113
115
119
121
125
127
131
135
138
141
144
147
148
150
150
150
150
149
147
145
142
138
135
131
127
125
121
118
115
112
110
108
107
107
107
108
110
111
114
117
120
123
127
129
133
137
140
143
146
148
149
151
150
150
148
147
144
142
139
135
132
129
126
123
119
116
114
111
110
110
106
107
109
109
110
112
116
120
123
126
129
133
136
140
143
145
147
149
149
149
149
148
146
144
142
140
137
133
130
127
124
121
118
115
112
109
109
109
107
107
109
111
112
115
119
122
124
127
131
135
139
142
144
147
148
150
150
150
149
148
146
144
141
137
135
131
127
125
121
118
115
113
111
110
108
108
108
109
110
111
114
117
120
124
127
131
134
138
141
144
145
147
148
149
148
148
147
146
144
141
138
136
132
129
126
123
120
117
114
111
110
108
108
108
109
110
112
114
116
120
123
127
129
132
135
138
141
144
145
147
148
148
149
148
147
145
144
140
137
134
131
127
124
121
117
115
112
110
109
109
108
109
109
110
112
114
117
120
124
127
130
133
137
140
143
145
147
149
149
150
149
148
146
144
142
138
135
131
128
125
122
118
115
113
111
109
108
108
108
108
109
111
113
116
119
123
126
129
133
136
140
143
145
147
149
150
150
150
149
148
145
143
140
137
133
130
127
123
120
117
114
111
109
107
107
107
107
108
110
112
115
118
122
125
128
132
136
139
142
144
147
148
150
150
150
149
148
146
144
141
138
134
131
127
124
121
117
114
111
109
108
107
107
107
108
110
112
115
118
121
125
127
131
135
138
141
144
146
148
149
150
150
149
148
147
144
142
139
135
132
128
125
122
118
115
112
111
109
108
107
107
108
110
111
114
117
120
123
127
129
133
136
140
143
145
148
149
150
150
150
148
147
145
143
139
137
133
130
126
123
119
116
114
111
109
107
107
107
107
109
110
113
115
119
122
126
128
132
135
139
142
145
147
148
150
150
151
149
149
146
144
141
138
134
131
127
124
120
117
114
111
109
108
107
107
108
109
111
113
115
118
121
124
127
131
134
138
142
144
147
149
151
151
151
150
148
146
144
141
137
134
131
127
125
122
118
115
113
110
109
107
107
107
108
109
111
113
117
120
124
127
130
134
138
141
144
147
148
149
150
150
149
148
147
144
143
139
136
133
130
127
124
120
117
114
111
110
108
107
107
108
109
111
113
116
119
122
126
129
132
135
138
142
144
147
149
149
149
149
148
148
146
144
141
138
135
131
127
124
120
117
114
111
109
108
107
107
108
109
111
112
115
119
122
125
127
130
134
138
141
144
149
147
146
150
148
149
152
146
145
144
138
135
133
128
125
122
117
114
112
111
110
109
108
109
110
110
113
115
117
119
123
125
128
133
137
139
142
145
148
150
150
151
150
149
148
145
142
139
136
132
129
126
122
119
116
113
111
109
108
107
107
107
109
111
113
116
119
122
126
129
132
136
139
143
145
147
149
150
150
150
149
148
145
143
140
137
134
130
127
124
121
117
115
112
110
108
108
108
108
109
111
113
115
118
121
125
127
132
135
138
141
144
146
147
149
149
149
148
147
146
144
141
138
135
131
128
125
122
118
116
113
111
109
108
107
107
108
109
111
114
117
120
124
127
130
133
136
140
143
145
147
149
149
150
150
149
147
146
144
140
137
133
130
127
123
119
116
112
110
108
107
107
107
108
110
111
113
116
119
122
126
128
132
135
139
141
145
147
149
150
151
151
149
148
146
143
140
137
134
130
127
123
120
117
114
110
110
108
107
107
108
109
110
112
114
118
121
124
127
131
134
138
141
144
147
148
150
151
151
150
149
146
144
141
138
135
131
127
125
122
118
116
113
110
108
108
108
107
108
109
111
113
116
120
123
126
129
134
137
141
144
146
148
149
150
150
149
148
147
145
143
140
136
133
129
126
123
119
116
114
111
109
108
107
107
107
109
111
113
116
118
122
126
128
132
135
139
142
144
146
148
149
149
150
150
148
146
144
141
138
134
131
127
124
120
118
114
111
110
108
108
107
108
109
111
112
115
118
121
123
127
130
134
138
139
143
147
147
148
149
150
149
148
146
145
142
139
135
132
128
125
122
118
115
113
111
109
109
108
108
109
110
112
114
117
120
123
127
129
132
136
140
142
144
148
149
150
150
150
150
148
146
143
140
137
134
130
126
123
120
117
114
111
109
108
107
106
107
108
110
112
115
117
121
125
127
131
135
139
142
144
147
148
149
150
150
149
148
146
144
141
138
135
131
128
125
121
118
115
113
111
109
108
107
108
108
110
111
115
117
121
124
127
131
134
139
141
144
146
148
149
150
150
149
148
147
145
141
139
135
132
128
125
122
119
115
112
110
108
107
106
107
108
109
111
113
117
121
125
127
130
134
137
141
143
145
147
148
150
150
150
149
147
145
143
140
137
133
130
127
123
119
116
113
111
108
108
106
107
107
109
111
114
118
120
123
125
128
132
135
138
141
144
146
149
150
151
151
151
149
147
144
141
137
133
130
127
123
120
117
114
112
109
108
107
107
108
109
110
111
114
117
121
124
127
131
134
138
141
145
147
149
150
151
151
150
149
146
144
141
137
134
130
127
125
121
118
115
113
111
109
109
108
108
109
110
112
114
117
120
124
127
130
134
138
140
144
146
148
149
150
150
149
148
146
144
142
139
136
133
129
126
123
120
117
114
111
109
108
107
107
108
109
111
113
116
119
123
126
129
133
136
140
142
145
147
149
150
150
149
149
148
146
144
141
137
134
131
127
124
120
117
114
112
110
108
108
107
109
109
111
113
115
119
122
125
127
131
135
138
141
144
146
148
149
150
150
149
148
146
144
141
138
135
131
127
125
121
118
115
112
111
109
109
108
109
109
110
112
115
117
120
123
127
130
134
137
140
143
145
147
148
150
150
149
149
147
146
143
140
137
134
129
127
123
120
117
114
112
110
109
108
108
108
109
111
113
116
118
122
